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






