6

メインのメール テンプレート (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>) で表示されます。

私は何か悪いことをしましたか?

4

2 に答える 2