使用自訂網域進行身份驗證電子郵件

如果您在專案中使用自訂網域,請考慮在為身分驗證事件(例如電子郵件驗證、位址變更和密碼復原流程)發送的電子郵件中也使用自訂網域。您可以將項目配置為在電子郵件的寄件者From和操作連結中使用自訂網域。

透過為身分驗證電子郵件配置自訂網域,使用者將看到您的網址和使用者管理電子郵件的相同網域。

進行此設定大致有兩個步驟:

  • 將網域新增至 Firebase 控制台中的電子郵件範本。
  • 透過在網域名稱註冊商中新增 DNS 記錄來驗證您的網域。

將網域新增至您的電子郵件模板

  1. 在 Firebase 控制台中,開啟「驗證」部分的「範本」頁面

  2. 對於每個電子郵件模板,請執行以下操作:

    1. 點擊編輯圖示( )。
    2. 按一下自訂網域
    3. 輸入您要使用的網域。

然後,您將看到一個 DNS 記錄表,可新增至您的網域註冊商以驗證您是否擁有該網域。

驗證域名

新增或更新 Firebase 控制台中提供的 TXT 和 CNAME DNS 記錄。這樣做的程序取決於註冊商。

對於特定網域,您只能有一個v=spf1... TXT 記錄。如果您需要指定多個電子郵件地址,請將它們合併為一筆記錄。

驗證網域最多可能需要 24 小時。此時,Firebase 控制台中的範本頁面將顯示綠色的「驗證完成」訊息。然後,您可以按一下套用自訂網域按鈕以使變更生效。

多租戶項目

如果您已升級至 Firebase Authentication with Identity Platform 並啟用了多租用戶,則需要更新租用戶元資料以允許租用戶繼承自訂網域、電子郵件範本和自訂 SMTP 設定。否則,即使成功驗證並套用自訂網域,使用者仍會收到來自預設網域的電子郵件。

您可以透過檢查身分驗證電子郵件中包含的 URL 來檢查是否啟用了多租用戶。如果 URL 包含tenant參數,您需要更新專案的租用戶元資料。

為此,請執行以下命令:

curl -X PATCH -d "{'inheritance':{'emailSendingConfig': true}}" \
  -H "X-Goog-User-Project: PROJECT_ID"                          \
  -H "Authorization: Bearer $(gcloud auth print-access-token)"  \
  -H 'Content-Type:application/json'                            \
  https://identitytoolkit.googleapis.com/v2/projects/PROJECT_ID/tenants/TENANT_ID?updateMask=inheritance.emailSendingConfig