部分邮箱无法收到Firebase邮箱链接认证的登录邮件如何解决?
问题原因
- 邮箱文件夹归类问题:认证邮件被邮箱服务商自动归类到垃圾邮件、推广邮件、订阅邮件文件夹,没有出现在用户的收件箱中
- 邮箱账号本身异常:用户输入的邮箱地址有误、邮箱已注销、收信容量已满、或是账号被服务商临时限制收信
- Firebase默认发件域信誉问题:Firebase默认使用
noreply@<你的项目ID>.firebaseapp.com这类后缀的地址发信,该发件域属于所有开发者共用的公共域,容易被不同邮箱服务商标记为垃圾发件源,导致整域拦截 - 邮件内容触发拦截规则:如果自定义修改过认证邮件的模板内容,包含营销、推广类敏感词,或是模板内容过于通用,也会被反垃圾规则拦截
- 区域/服务商屏蔽:部分地区的运营商、企业邮箱、国内小众邮箱会主动屏蔽来自Google云服务的发件IP,导致邮件无法送达
排查步骤
- 首先引导收不到邮件的用户检查所有邮箱文件夹,包括垃圾邮件、垃圾箱、推广、订阅分类,搜索
firebase或是你的项目名称关键词,确认邮件是否被误分类 - 进入Firebase控制台,打开认证->模板->邮件模板页面,选择登录链接邮件模板,点击发送测试邮件,输入无法收信的邮箱地址,确认是否固定邮箱后缀/账号无法收信
- 查看Firebase项目的操作日志,确认邮件发送请求没有返回报错,排除本地配置错误、配额耗尽的问题
- 测试同一邮箱后缀的多个不同账号是否都无法收信,确认是单个用户账号问题还是邮箱服务商整域拦截了你的发件地址
解决方法
- 配置自定义发件域是解决该问题的最高效方案:在Firebase认证的邮件模板设置中,绑定你自己持有并备案的独立域名作为发件域,同时在域名DNS服务商处配置正确的SPF、DKIM、DMARC记录,大幅提升发件信誉,避免公共发件域被拦截的问题
- 自定义认证邮件模板内容,调整为带有项目独有标识的内容,避免使用Firebase默认的通用模板文案,降低被判定为垃圾邮件的概率
- 在登录页添加醒目的提示,引导用户如果收不到认证邮件,首先检查垃圾邮件文件夹,或是将你的发件地址添加到邮箱通讯录白名单
- 针对仍无法正常收信的用户,可补充提供备用登录方式,比如手机号验证码登录、第三方平台账号登录
- 如果你的用户以国内用户为主,可以对接国内的邮件推送服务替代Firebase默认的邮件发送逻辑,提升国内邮箱的送达率
内容的提问来源于stack exchange,提问作者SuPythony
相关产品推荐
相关产品推荐

