於 Laravel 專案中套用 Google SMTP,利用 Google Mail Server 來發送 Email

前言:
一直以來在各個專案中都是使用 Mailgun 作為發信伺服器居多。
也是在無意間接觸到 Google 也有提供 SMTP 發信服務。
比起 Mailgun 的單月 1000 封免費額度,Google 可是提供了單日 500 封的額度呢!

雖然目前此網站鮮少使用發信功能,但也還是有的。
但還是先將本網站的 Mailgun 功能移除,改使用 Google 的服務。
以下為本次更新後留有的紀錄,以供日後參考。

步驟 1 - 開啟 Google 帳號兩步驟驗證:
看到眾多撰寫本主題的文章都說必須先開啟兩步驟驗證,才會出現後續的選項可供操作。
請先依循以下步驟完成兩步驟驗證


先從 Google 首頁右上角點擊大頭貼,並選擇「管理你的 Google 帳戶」。


接著於左側點擊安全性,並完成兩步驟驗證。


確認兩步驟驗證是綠色打勾的完成狀態後,就可繼續接下來的步驟了。



步驟 2 - 找到應用程式密碼:
雖然說開啟兩步驟驗證後就能找到應用程式密碼這個功能。
但如果還是找不到的話,請直接利用上方搜尋欄搜尋。


利用搜尋欄搜尋就可以找到該功能,點進去後進去操作。


選取應用程式選擇「郵件」。
選取裝置選擇「Windows 電腦」。

按下產生後則會有以下畫面:

請先將此密碼複製下來,稍後會用到。

步驟 3 - 至 Laravel 專案中的 .env 帶入相關資訊:
在 laravel 專案中的 .env 中將 MAIL 相關資訊換成以下資訊:
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=XXXXXXXXXXXXX@gmail.com
MAIL_PASSWORD=OOOOOOOOOOOOO
MAIL_ENCRYPTION=tls
MAIL_USERNAME 帶入該帳號的 @gmail.com。
MAIL_PASSWORD 則是前一張圖複製下來的密碼。
其餘資訊皆使用上述 code area 的即可。

完成後可刷新 cache。



步驟 4 - 發一封信試試看吧!:
接著完成剩餘的發信功能,並且發送一封信試試看吧。
以下是收到信的畫面:



這樣利用 Google 作為發信伺服器的功能就完成囉!

後記:
繼 Google reCaptcha 之後,連發信都改用 Google 的服務了。
或許再過不久,網站也會從 aws 搬去 GCP 也說不定呢!(燦笑)

另外也為了更好的閱讀體驗,在功能中加入了 CodeSnippet。
希望這樣小小的改變能夠帶給大家更舒適的閱讀體驗。