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

如何配置Firebase Trigger-Mail扩展与Cloud Functions?

Trigger-Mail 扩展与Cloud Functions 配置分步实现方法

1. 前期准备

  • 确保已创建Firebase项目,启用Cloud Functions和Cloud Firestore服务
  • 本地安装Firebase CLI:npm install -g firebase-tools
  • 登录Firebase账号并关联项目:
    firebase login
    firebase use --add
    
  • 初始化Functions环境:
    firebase init functions
    # 按需选择JavaScript/TypeScript,可选启用ESLint
    

2. 安装并配置Trigger-Mail扩展

  • 进入Firebase控制台→扩展→扩展市场,搜索Trigger Email并安装
  • 配置核心参数:
    • SMTP连接信息:填写发送邮箱的SMTP服务器(如Gmail的smtp.gmail.com)、端口(587)、用户名(邮箱地址)、密码(Gmail需使用应用专用密码)
    • Firestore集合:指定触发邮件的集合名(默认mail,可自定义)
    • 发件人显示名称:设置邮件的发件人显示名称
  • 安装完成后,扩展会自动配置Firestore安全规则,允许Functions写入邮件触发文档

3. 编写Cloud Functions触发逻辑

以用户注册后发送欢迎邮件为例,在functions/index.js中添加以下代码:

const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp();

// 用户注册触发欢迎邮件
exports.sendWelcomeEmail = functions.auth.user().onCreate(async (user) => {
  const mailData = {
    to: user.email,
    message: {
      subject: "欢迎加入我们",
      html: `<p>您好 ${user.displayName || "用户"},感谢您的注册!</p>`,
    },
  };

  // 写入Firestore触发邮件发送
  await admin.firestore().collection("mail").add(mailData);
  functions.logger.info("欢迎邮件触发请求已提交");
});

如果需要通过HTTP请求触发邮件,可编写HTTP可调用函数:

exports.sendCustomEmail = functions.https.onCall(async (data, context) => {
  // 可选:验证用户权限
  if (!context.auth) {
    throw new functions.https.HttpsError("unauthenticated", "需登录后操作");
  }

  const mailData = {
    to: data.to,
    message: {
      subject: data.subject,
      text: data.text,
    },
  };

  await admin.firestore().collection("mail").add(mailData);
  return { status: "邮件触发请求已提交" };
});

4. 部署与测试

  • 部署Functions:
    firebase deploy --only functions
    
  • 测试触发逻辑:
    • Auth触发器:创建新用户,检查Firestore的mail集合是否新增文档,确认邮箱收到邮件
    • HTTP触发器:通过Firebase CLI或客户端调用函数,传入邮件参数,验证发送状态
  • 问题排查:
    • 查看扩展日志:Firebase控制台→扩展→Trigger Email→日志
    • 查看Functions日志:firebase functions:log
    • 确认Firestore规则允许Functions写入mail集合

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 22:45:31