該模組旨在成為與 PHPMailer SMTP 模組配合使用的插件,透過 OAuth2 向 Google Workspace Gmail 提供身份驗證。它的靈感來自 Ian McLean (imclean) 編寫的 phpmailer_oauth2。如果我沒有找到 Ian 的模組,我就不太可能嘗試為 Google Gmail 開發一個模組。
重要提示:此模組需要 Google league/oauth2-google 模組,可從 https://oauth2-client.thephpleague.com/providers/league/ 取得。它應該安裝在您的供應商目錄中。
在使用此模組之前,需要在 Google 上設定 Client ID 和 Client Secret。以下是自 2024 年 4 月起如何執行此操作並配置此模組的方法:
登入您的 Google Workspace 帳號。
前往 https://console.cloud.google.com/。
在頁面左上角「Google Cloud」旁邊,應該要有一個項目下拉清單。單擊它。
如果「選擇資源」對話方塊中沒有列出任何項目,請建立一個,然後選擇它作為目前項目。
點擊“API 和服務”,這是頁面中心某處的一個大按鈕。
點選頁面左側出現的選單中的「憑證」。
按一下“建立憑證”,然後選擇“OAuth 用戶端 ID”。
選擇“Web 應用程式”作為應用程式類型。
命名您的憑證,並記下您的客戶端 ID 和客戶端金鑰。您需要在下面的 (11) 中輸入這些值。
安裝此模組後,您可以透過前往設定->系統->PHPMailer Gmail OAuth2 (/admin/config/system/phpmailer-gmail-oauth2) 找到網站的「授權重新導向 URI」。在單獨的瀏覽器視窗中開啟該頁面,您將在頁面頂部附近找到 Google 所需的重定向 URI。複製 URI 並將其輸入到 Google 頁面上的「授權重新導向 URI」方塊中。按儲存。
返回 Drupal 頁面,輸入您的 Google 電子郵件地址、用戶端 ID 和用戶端金鑰,然後按「儲存設定」按鈕。
儲存 Google 憑證後,將出現「取得刷新令牌」按鈕。按下該按鈕可從您的網站重新導向至 Google,然後按照 Google 上的說明進行操作。
完成後,Google 應發出刷新令牌並重定向回您剛離開的 Drupal 頁面。如果一切正常,您將獲得刷新令牌並準備好發送電子郵件。
如果您在按下「取得刷新令牌」按鈕時遇到重定向到 Google 的問題,您可能需要將以下內容新增至您的 settings.php 檔案:
$ settings [ ' trusted_host_patterns ' ] = [ ' ^accounts.google.com$ ' ];
If you have other trusted_host_patterns, add '^accounts.google.com$' to the array.
其他一些設定項:
不要忘記進入郵件模組選擇“PHPMailer SMTP”作為您的郵件格式化程式和寄件者(/admin/config/system/mailsystem)。
如果您有其他模組(例如 Commerce 2)發送郵件,您可能需要將它們添加到上面 (1) 中同一頁面的底部。
在 PHPMailer SMTP 傳輸設定頁面上,選擇「Gmail OAuth2」作為 SMTP 驗證方法 (/admin/config/system/phpmailer-smtp)。將 SMTP 連接埠設定為 587,並選擇 TLS 作為安全協定。
您可以使用 PHPMailer SMTP 傳輸設定頁面上的「測試配置」服務,透過傳送測試電子郵件來驗證新設定是否正常運作。