laravelでメールを送る

php/laravel


めちゃめちゃ簡単にlaravelでメールを送るにはファイル2つでOKです。

  • bledeファイル
  • controllerファイル等

下記がコンローラーファイル等に記述するロジックになります。

        $title = 'タイトル';
        $message = 'メッセージ内容';
        $send_mail_adress = 'hogehoge@example.com';

        Mail::send('emails.sample', [
            "data" =>  $message
        ], function ($message) use ($title, $send_mail_adress) {
            $message->to($send_mail_adress, '送信者名')
                ->from('hogehoge@supprot.com', '送信者名')
                ->subject($title);
        });

上記を完結に説明するとFacadeで
Mail::send
呼び出していて、
第一引数 bladeファイルの位置を指定 ‘emails.contact’の部分
第二引数 bladeファイルに渡す引数 “data” => $messageの部分
第三引数 コールバック関数
になります。

次に第一引数で指定したbladeファイルを設置します。今回の場合

\resources\views\email\sample.blade.php

に設置します。

bladeファイルの内容は

{{ $data }}

だけです。これで上記コントローラーで設定した、dataの中身が表示されます。