You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase配置自定义SMTP后sendSignInLinkToEmail功能异常排查

自定义SMTP配置下Firebase无密码登录链接异常问题

问题背景

跨SDK(JS-web 8版本、react-native-firebase iOS/Android端)实现无密码登录时,为自定义域名的邮件模板配置自定义SMTP后,生成的登录链接未使用sendSignInLinkToEmail方法传入的actionCodeSettings中的url参数,导致点击链接时无法唤起APP,只能打开手机浏览器。

已完成的配置项

  • 自定义域名:prod.fun.stuff,已完成Firebase Hosting配置并添加至邮件模板
  • iOS应用Universal Links配置:
# fun.entitlements
applinks:prod.fun.stuff
  • 调用sendSignInLinkToEmail时传入的actionCodeSettings:
const actionCodeSettings = {
    url: 'https://prod.fun.stuff/links/confirmEmail',
    handleCodeInApp: true,
    iOS: {
      bundleId: 'com.stuff.fun'
    },
    android: {
      packageName: 'com.stuff.fun'
    },
    dynamicLinkDomain: 'prod.fun.stuff'
  }
  • 自定义SMTP服务:使用Mailgun,为域名mg.fun.stuff配置SMTP服务器发送邮件

两种配置下的链接表现

启用自定义SMTP后(异常)

收到的登录链接:

http://email.mg.fun.stuff/e/someCrazyEncodedString...

存在问题:

  • 域名与actionCodeSettings中指定的prod.fun.stuff不一致
  • 使用HTTP协议而非HTTPS
  • 点击后打开手机浏览器,无法唤起APP

关闭自定义SMTP后(正常)

收到的登录链接:

https://prod.fun.stuff/?link=https://fun-stuff.firebaseapp.com/__/auth/action?apiKey%3DgeneratedAPIKey%26mode%3DsignIn%26oobCode%3DgeneratedoobCode%26continueUrl%3Dhttps://prod.fun.stuff/links/confirmEmail%26lang%3Den&apn=com.stuff.fun&amv=1&ibi=com.stuff.fun&ifl=https://fun-stuff.firebaseapp.com/__/auth/action?apiKey%3DgeneratedAPIKey%26mode%3DsignIn%26oobCode%3DgeneratedoobCodeQ%26continueUrl%3Dhttps://prod.stuff.fun/links/confirmEmail%26lang%3Den

符合预期:点击后正常唤起APP

Firebase SMTP设置截图

Firebase SMTP设置截图

疑问

  • 是否是邮件服务器配置有误?
  • 这是使用自定义SMTP时的预期行为吗?
  • 是否需要将邮件服务器CNAME配置为另一个Universal Link?

内容的提问来源于stack exchange,提问作者Charles Harris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 08:24:20