laravel5.1でメール送信する

laravel5.1でメール送信する

gmailに接続する例が多いけど、WebサーバにPostfixとかSendMailが入っていれば、phpのmail関数でメール送信できる。
メール・アカウントを用意しなくても、すぐに送信できるので、今回はその方法で試してみた。


0, メールの送信方法をphpのmail関数に変更する。デフォルトはsmtp(送信メールサーバに接続)

.envファイルを編集
MAIL_DRIVER=mail ← smtpから変更
MAIL_HOST=localhost
MAIL_PORT=25

ブラウザ上で確認する


array:9 [▼
“driver” => “mail” ← smtpから変更されるはず
“host” => “localhost”
“port” => “25”
“from” => array:2 [▶]
“encryption” => null
“username” => null
“password” => null
“sendmail” => “/usr/sbin/sendmail -bs”
“pretend” => false
]

※configキャッシュが悪さをしている事もあるので、クリアした方がいい

1, メールのテンプレートを作る
画面と同様に、bladeテンプレートファイルを生成しておいて、変数を渡すやり方。
a, resources/views/emailsフォルダを生成
b, そこにhello.blade.phpなど、任意のテンプレート名で生成する

2, hello.blade.phpの中身

3, 送信処理を、とりあえずroute.phpに書く

これで、メール送信が出来ました!