0

私は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 }}        
4

0 に答える 0