私はMail::send() Laravel 5.2をemail.blade.phpをparamとして使用しています。これは、以前にデータベースからhtmlコンテンツを動的に取得します。メールを送信した後、空のメールが届きました。
しかし、HTML コンテンツを直接 email.blade.php に入れると、問題なく動作します。
データベースでそれを行うにはどうすればよいですか?
*** 編集:
これで少し動作します。しかし、ID テンプレートはまだ id 値に置き換えられていません。
// From database
<table width="100%">
<tr>
<td></td>
<td>
Your ID: {{ $data->your_id }}
</td>
<td></td>
</tr>
</table>
// email.blade.php
{{ $data->mailtext_DB }}
// Call Mail::send
$data = [
'sender_email' => 'info@google.com',
'mailtext_blade' => email,
'sender_name' => 'Google',
'receiver_email' => 'user@google.com',
'receiver_name' => 'User One',
'subject' => 'Hello User!',
'mailtext_DB' => $HTML_text_from_DB, // this comes from the database
'your_id' => $id_no
];
// convert $data to an object for use in Mail::send
// ...
$status = Mail::send(
$data->mailtext_blade,
[ 'data' => $data ],
function ( $m ) use ( $data ) {
$m->from( $data->sender_email, $data->sender_name );
$m->to( $data->receiver_email, $data->receiver_name )->subject( $data->subject );
}
);
受信したメールの内容: あなたの ID: {{ $data->your_id }}
しかし、私は期待しています: あなたの ID: 123546
難点は、次のようにビューを小さくする必要があることです。
// email.blade.php
{{ $data->mailtext_DB }}