「Php/laravel/laravel5/mail」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「==gmailでメールを送る== 事前設定として gmailの設定/imapを無効から有効に ==設定== パスはアプリ認証用に生成(https://security.google...」) |
(→mail設定読み込み確認) |
||
(同じ利用者による、間の6版が非表示) | |||
行1: | 行1: | ||
+ | 未完成 | ||
+ | |||
==gmailでメールを送る== | ==gmailでメールを送る== | ||
事前設定として | 事前設定として | ||
行7: | 行9: | ||
パスはアプリ認証用に生成(https://security.google.com/settings/security/apppasswords) | パスはアプリ認証用に生成(https://security.google.com/settings/security/apppasswords) | ||
− | vi .env | + | vi .env |
− | MAIL_DRIVER=smtp | + | MAIL_DRIVER=smtp |
− | MAIL_HOST=smtp.gmail.com | + | MAIL_HOST=smtp.gmail.com |
− | MAIL_PORT=587 | + | MAIL_PORT=587 |
− | MAIL_ENCRYPTION=tls | + | MAIL_ENCRYPTION=tls |
− | MAIL_FROM_ADDRESS=xxxxxxxx@gmail.com | + | MAIL_FROM_ADDRESS=xxxxxxxx@gmail.com |
− | MAIL_FROM_NAME=xxxxxxxx | + | MAIL_FROM_NAME=xxxxxxxx |
− | MAIL_USERNAME=xxxxxxxx@gmail.com | + | MAIL_USERNAME=xxxxxxxx@gmail.com |
− | MAIL_PASSWORD=xxxxxxxxxxxxxxxx | + | MAIL_PASSWORD=xxxxxxxxxxxxxxxx |
− | MAIL_PRETEND=false | + | MAIL_PRETEND=false |
− | vi config/mail.php | + | vi config/mail.php |
− | 'from' => [ | + | 'from' => [ |
'address' => env('MAIL_FROM_ADDRESS', null), | 'address' => env('MAIL_FROM_ADDRESS', null), | ||
'name' => env('MAIL_FROM_NAME', null) | 'name' => env('MAIL_FROM_NAME', null) | ||
− | ], | + | ], |
==実行== | ==実行== | ||
php artisan tinker | php artisan tinker | ||
Mail::raw('Test Mail', function($message) { $message->to('xxxxxxxxxxxxxxxx@gmail.com')->subject('test'); }); | 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 | Swift_TransportException with message 'Expected response code 250 but got code "530", with message "530 5.7.1 Authentication required | ||
− | ==envを利用しない場合 | + | ==mail設定読み込み確認== |
+ | dd(\Config::get('mail')); | ||
+ | echo \Config::get('mail.username'); | ||
+ | 読み込まれてなければキャッシュなどをクリアなどしてみる | ||
+ | $ php artisan config:clear | ||
+ | $ php artisan config:cache | ||
+ | |||
+ | ==envを利用しない場合== | ||
configファイルに直書き | configファイルに直書き | ||
vi config/mail.php | vi config/mail.php | ||
行47: | 行57: | ||
'sendmail' => '/usr/sbin/sendmail -bs', | '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!'); | ||
+ | }); |
2016年10月1日 (土) 02:08時点における最新版
未完成
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!'); });