如果您在项目中使用自定义域名,可考虑在为了身份验证事件(如电子邮件验证、地址更改和密码恢复流程)发送的电子邮件中使用您的自定义域名。您可以在电子邮件的 From
字段和操作链接中将项目配置为使用自定义域名。
为身份验证电子邮件配置自定义域名后,网址和用户管理电子邮件将使用同一域名。
此项设置大致分为两个步骤:
- 在 Firebase 控制台中将该域名添加到电子邮件模板中。
- 通过在您的域名注册商中添加 DNS 记录来验证您的域名。
将域名添加到电子邮件模板中
在 Firebase 控制台中,打开“Authentication”部分的“模板”页面。
对于每个电子邮件模板,执行以下操作:
- 点击修改图标 ( )。
- 点击自定义域名。
- 输入您要使用的域名。
然后,您会看到一个 DNS 记录表格,供您添加到网域注册商以验证域名所有权。
验证域名
添加或更新 Firebase 控制台中提供的 TXT 和 CNAME DNS 记录。具体步骤取决于注册商。
每个特定域名只能有一条 v=spf1...
TXT 记录。如果您需要指定多个电子邮件地址,请将它们合并为一条记录。
验证域名最多可能需要 24 小时。出现此情况时,Firebase 控制台中的“模板”页面会显示一条绿色的“验证完成”消息。然后,您可以点击应用自定义域名按钮以使更改生效。
多租户项目
如果您已升级到 Firebase Authentication with Identity Platform 并启用了多租户,则需要更新租户元数据以允许租户继承自定义域名、电子邮件模板和自定义 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