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());
無事に送信できました。
おしまい