Firebase Trigger Email扩展无法发送邮件求助
Firebase Trigger Email扩展无法发送邮件的排查方案
一、检查扩展核心配置
- 确认SMTP参数完全正确:包括SMTP主机(如
smtp.gmail.com)、端口(Gmail用465/587)、用户名/密码,以及SSL/TLS选项是否匹配服务商要求。如果是启用两步验证的Gmail,必须使用应用专用密码而非原密码。 - 核对
MAIL_FROM配置项:必须是一个符合格式的合法邮箱地址,无拼写错误。
二、验证Firestore mail集合的文档格式
- 确保新增的邮件文档包含必填字段:
to(收件人邮箱)、message(嵌套subject和text/html),所有字段名必须为小写(比如不能写成To或Message)。 - 观察文档是否自动生成
status字段:如果添加文档后没有出现status(如PENDING/SENT/FAILED),说明扩展的云函数未触发,需转向云函数排查。
三、排查云函数状态与日志
- 进入Firebase控制台的「函数」页面,找到
ext-firestore-send-email函数,确认其状态为「已部署」且无禁用标记。 - 查看函数日志:点击函数的「日志」按钮,搜索关键词(如
error/failed/SMTP),定位具体报错原因(比如SMTP连接超时、权限不足、邮件内容被拦截)。 - 确认函数权限:扩展安装时会自动配置Firestore读取权限,若手动修改过函数权限,需恢复默认配置,确保函数能读取
mail集合的文档。
四、检查邮箱服务商限制
- 确认已开启对应邮箱的SMTP服务:例如QQ邮箱、Outlook邮箱需在账号设置中手动开启SMTP功能。
- 排查发送限额与拦截:新注册的邮箱账号可能有严格的发送限额,或邮件内容被服务商判定为垃圾邮件,可换用测试邮箱发送简单内容验证。
五、其他验证步骤
- 手动添加测试文档:在
mail集合中创建如下格式的测试文档,观察函数是否触发:
{ "to": "your-test-email@example.com", "message": { "subject": "Firebase Trigger Email Test", "text": "This is a test email from Firebase." } }
- 更新Firebase CLI:执行
firebase --version查看版本,若不是最新版,运行npm install -g firebase-tools更新后重新部署。
内容的提问来源于stack exchange,提问作者anusianne
相关产品推荐
相关产品推荐

