为身份验证电子邮件使用自定义域名

如果您在项目中使用自定义域名,可考虑在为了身份验证事件(如电子邮件验证、地址更改和密码恢复流程)发送的电子邮件中使用您的自定义域名。您可以在电子邮件的 From 字段和操作链接中将项目配置为使用自定义域名。

为身份验证电子邮件配置自定义域名后,网址和用户管理电子邮件将使用同一域名。

此项设置大致分为两个步骤:

  • 在 Firebase 控制台中将该域名添加到您的电子邮件模板中。
  • 通过在您的域名注册商中添加 DNS 记录来验证您的域名。

将域名添加到电子邮件模板中

  1. 在 Firebase 控制台中,打开“身份验证”部分的“模板”页面

  2. 对于每个电子邮件模板,执行以下操作:

    1. 点击修改图标 ()。
    2. 点击自定义域名
    3. 输入您要使用的域名。

然后,您会看到一个 DNS 记录表格,供您添加到网域注册商以验证域名所有权。

验证域名

添加或更新 Firebase 控制台中提供的 TXT 和 CNAME DNS 记录。具体步骤取决于注册商。

每个特定域名只能有一条 v=spf1... TXT 记录。如果您需要指定多个电子邮件地址,请将它们合并为一条记录。

验证域名最多可能需要 24 小时。出现此情况时,Firebase 控制台中的“模板”页面会显示一条绿色的“验证完成”消息。然后,您可以点击应用自定义网域按钮以应用更改。

多租户项目

如果您已升级到带有 Identity Platform 的 Firebase Authentication,并且启用了多租户,则需要更新租户元数据以允许租户继承自定义域名、电子邮件模板和自定义 SMTP 设置。 否则,即使自定义域名已成功验证并应用,用户仍会收到来自默认网域的电子邮件。

您可以通过检查 Auth 电子邮件中包含的网址来检查是否已启用多租户。如果网址包含 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