Php/laravel/laravel5/mail
提供: 初心者エンジニアの簡易メモ
未完成
gmailでメールを送る
事前設定として
gmailの設定/imapを無効から有効に
設定
パスはアプリ認証用に生成(https://security.google.com/settings/security/apppasswords)
vi .env MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=xxxxxxxx@gmail.com MAIL_FROM_NAME=xxxxxxxx MAIL_USERNAME=xxxxxxxx@gmail.com MAIL_PASSWORD=xxxxxxxxxxxxxxxx MAIL_PRETEND=false
vi config/mail.php 'from' => [ 'address' => env('MAIL_FROM_ADDRESS', null), 'name' => env('MAIL_FROM_NAME', null) ],
実行
php artisan tinker Mail::raw('Test Mail', function($message) { $message->to('xxxxxxxxxxxxxxxx@gmail.com')->subject('test'); });
以下が出れば成功
=> 1
以下エラーが出る場合はmail設定が読み込まれているか確認する
Swift_TransportException with message 'Expected response code 250 but got code "530", with message "530 5.7.1 Authentication required
mail設定読み込み確認
dd(\Config::get('mail')); echo \Config::get('mail.username');
読み込まれてなければキャッシュなどをクリアなどしてみる
$ php artisan config:clear $ php artisan config:cache
envを利用しない場合
configファイルに直書き
vi config/mail.php return [ 'driver' =>'smtp', 'host' => 'smtp.gmail.com', 'port' => 587, 'from' => [ 'address' => 'xxxxxxxx@gmail.com', 'name' => 'xxxxxxxx' ], 'encryption' => 'tls', 'username' => 'xxxxxxxx@gmail.com', 'password' => 'xxxxxxxxxxxxxxxx', 'sendmail' => '/usr/sbin/sendmail -bs', ];
テンプレを使う
resources/views/mails/regist.blade.phpのテンプレが適用される
\Mail::send('mails/regist', [], function ($m) { $m->from('from@example.com', 'Your Application'); $m->to("to@example.com", "to")->subject('Your Reminder!'); });