メインのメール テンプレート (resources/views/mail.blade.php) があります。これは、パスワードを忘れた場合や新しいパスワードを変更する場合など、すべてのメールを使用するための一般的なテンプレートです。mail.blade.php の内容は次のとおりです。
<table>
<tr><td>SiteName</td>
</tr>
<tr><td>{{$content}}</td></tr>
</table>
CKEditor を使用して電子メール テンプレートのコンテンツを (mySql db に) 保存しています。次のようになります。
<p>Dear {{$username}},</p>
<p>This is your new password: {{$newPassword}}</p>
今、私は以下のようにlaravel 5.5でメール機能を使用しています:
$content = str_replace(array('username', 'newPassword'), array($userName, $request->confirm_password), addslashes($emailTemplate->templateBody));
Mail::send(['html' => 'mail'], ['content' => $content], function ($message) use($emailTemplate, $user){
$message->from($emailTemplate->fromEmail, $emailTemplate->fromName);
$message->to($user->email);
});
mailtrap.io でメールを送信すると、次のようなメールが表示されます。
SiteName
<p>Dear Niladri,</p> <p>This is your new password: 123456</p>
mail.blade で SiteName が記述されている表、tr、td は機能しており、電子メールには HTML コードが表示されないことに注意してください。それはいいです。ただし、CKEditor のコンテンツのみが HTML タグ ( <p></p>
) で表示されます。
私は何か悪いことをしましたか?