ハマログ

株式会社イーツー・インフォの社員ブログ

Laravel5.4(5.3?)のメール送信

Laravel5.0とか5.1とかあたりでは、クロージャを利用してメール送信のプログラムを書いていました

こんな感じです。

Mail::send('emails.welcome', $data, function($message)
{
    $message->from('us@example.com', 'Laravel');
    $message->to('foo@example.com')->cc('bar@example.com');
    $message->attach($pathToFile);
});

変数をクロージャのパラメータ渡ししないといけないので、少しめんどくさかったです。

Laravel5.4では、新しいMailableインタフェースを利用したメール送信ができるようになりました。
(Laravel5.3~かもしれない。)

artisanでクラスを作成します。

> php artisan make:mail ContactMail
Mail created successfully.

App\Mail\ContactMail.phpクラスが作成されました。

利用するviewを指定します。ついでにSubjectを指定してみました

    public function build()
    {
        return $this->subject('お問い合わせ確認メール')
                        ->view('email.contact');
    }

あとは、呼び出すだけです。

Mail::to('example@e2info.com')
->queue(new ContactMail());

無事に送信できました。

おしまい

LaravelMailMailablePHPメール

kaneko tomo   kaneko tomo   2017年2月20日


関連記事

Invalid Argument Exception: Only mailables may be queued. in

Laravelの少し昔のプロジェクトから、今進めているLaravel5.7にメー…

サーバのログ監視ツールSwatchでPHP Fatal error発生時にメール送信

こんにちは。S.Iです。 この度、本番リリース間近のシステムにリアルタイムログ監…

Laravelのページネーションでrel=”next”とrel=”prev”を実装する

ページネーションの実装時に、GoogleのGoogle ウェブマスターブログ 複…


← 前の投稿

次の投稿 →