close
1. 建立一個發送信件的 Gmail 帳號
2. 設定 laravel mail config ( /config/mail.php )
設定須如下,’from’、’username’、’password’ 須填入發送信件 Gmail 的資料。
'driver' => 'smtp', 'host' => 'smtp.gmail.com', 'port' => 587, 'from' => array('address' => 'xxxxx@gmail.com', 'name' => 'test'), 'encryption' => 'tls', 'username' => 'xxxxx@gmail.com', 'password' => '', 'sendmail' => '/usr/sbin/sendmail -bs'
password 會先空著原因是如果輸入 Gmail 登入密碼的話,寄信時會出現錯誤,錯誤訊息如下:
3. 在 controller 寫進寄信的 function 與 /routes/web.php 寫進測試寄信的 Route
public function SendEmailotMember() { Mail::raw('測試使用 Laravel 的 Gmail 寄信服務', function ($message){ $message->to('xxxxx@gmail.com', 'test')->subject('訂單成立通知'); }); }
Route::get('/test/mail', 'YourControllerName@SendEmailotMember');
4. 取得 Gmail 使用的密碼,此密碼才是要填入 mail config( /config/mail.php ) password 的值,步驟如下:
開啟我的帳戶點選登入和安全性
點擊兩步驟驗證
點擊開始檢查按鈕
在此會要求你再次輸入密碼
輸入電話並選擇取得驗證碼方式後按立即試用
輸入收到的驗證碼
啟用兩步驗證功能
啟用後兩步驗證會出現許多選項設定,目前不會使用到,所以直接返回
點擊應用程式密碼
選擇裝置與服務後並按下產生
此時會產生一組密碼,而這組密碼就是要給 mail config password 的值,按下完成會看到一筆建立紀錄
5. 將 Gmail 產生的密碼填入 mail config,如下:
'driver' => 'smtp', 'host' => 'smtp.gmail.com', 'port' => 587, 'from' => array('address' => 'xxxx@gmail.com', 'name' => 'test'), 'encryption' => 'tls', 'username' => 'xxxxx@gmail.com', 'password' => 'bzaufsljjmwgeweb', 'sendmail' => '/usr/sbin/sendmail -bs'
6. 測試寄信功能
文章標籤
全站熱搜
留言列表