背景概述
近來,公司開發專案中有涉及 通過 Gmail IMAP 服務傳送郵件 的需求,因此有機會做一下配置 Gmail IMAP 服務配置的工作。
工作過程中,發覺 Gmail 與一些國內常見的 Email (eg. QQ Email) 服務在配置上存在一些差異,在此,僅就當前專案介紹一個常見的配置坑點。
Basic - Gmail IMAP Service Setting
- 登入你的 Gmail
- 進入配置頁面 Settings
- 進入 Forwarding and POP/IMAP
- 選擇 Enable the IMAP Access
通常有人以為,至此 Gmail 配置完成了,我想說的是:
Too young, too simple.
Advanced - 2-Step Verification and App Password
好的,坑點來了。
現在簡要介紹一下在 Gmail 配置中經常被忽略的兩個配置點。
2-Step Verification
- 登入你的 Google Account
- 點選左側導航欄的 Security
- 在 Signing in to Google 欄下, 點選 2-Step Verification
- 點選 Get started
- 根據提示完成接下來的步驟
App Password
- 承上,返回 Security 頁面
- 在 Signing in to Google 欄下, 點選 App passwords
- 根據提示完成接下來的步驟
- Select app: 選擇 Mail
- Select device: 選擇 Other (Custom name),稍後可以自行設定一個便於自己識別的名稱 (eg. something.com, or some server, etc.)
- 點選 GENERATE: 生成隨機 16 位 App password
- 請確保在關閉此彈出視窗前,及時妥善儲存好當前生成的 16 位 App password,因為在彈出視窗關閉後,你不會再有機會檢視該 App password,切記,切記!
至此,Gmail IMAP 服務配置完成。
總結
常言道,難者不會,會者不難。Gmail 與國內常見的 Email 服務相比,存在一定的區別,有時正是這些不為我等熟知區別成為開發人員對接業務中的技術壁壘。
該帖本身的技術分量不重,筆者在創作該貼時,初衷也不過是介紹一下這個 Gmail 配置坑點,以期為其他開發人員在對接業務過程中鋪平道路。
最後,附上一份簡要的 Laravel .env 檔案的片段,以供諸位觀賞:
...
# Gmail
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=your.gmail.account@gmail.com
MAIL_PASSWORD=your.app.password
MAIL_FROM_NAME=Your.Name
MAIL_FROM_ADDRESS=your.gmail.account@gmail.com
MAIL_ENCRYPTION=ssl
...
王笑曰:“ 聖人非所與熙也,寡人反取病焉。”
本作品採用《CC 協議》,轉載必須註明作者和本文連結