PHP – 在 PHP 中使用 Gmail SMTP 無法驗證的方法

我使用框架如 Laravel 需要使用 SMTP 並驗證 Google 帳號密碼,但是因為帳號啟用了 2 次驗證,所以我們的 Google 密碼並不可以使用。通常SMTP會這樣設定
MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=xxx@gmail.com MAIL_PASSWORD=原本gmail的密碼 MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=xxx@gmail.com MAIL_FROM_NAME=Jason
Laravel 通常會出現如「Failed to authenticate on SMTP server with username “xxx@gmail.com” using 3 possible authenticators. Authenticator LOGIN returned Swift_TransportException」。
為了解決問題,我們先到 這裡 應該會看到 Google 顯示「注意:由於您的帳戶使用兩步驟驗證,您必須建立應用程式專用密碼,才能使用應用程式登入。」
我們選擇 建立應用程式專用密碼 ,在如何產生應用程式密碼中可以看到「前往您的應用程式密碼」,登入我們的 Google 帳號。
接著在「應用程式密碼」頁面中,新增我們的裝置,例如點擊其他,然後按下產生
會生出一組16個字元的密碼,回到我們SMTP設定,把原先使用 Google 密碼的部分替換為這組亂數密碼,就能完成發信囉!
Comments