繁体   English   中英

如何设置firebase触发邮件和云功能

[英]How to setup firebase trigger-mail and cloud functions

我在设置触发邮件扩展和云功能时遇到了很多麻烦。 在这里,我将逐步解释如何完成工作!

让我们开始工作吧。

设置Firebase

  • 如果您还没有在这里,请创建一个项目。

  • 要使用trigger-mail扩展和云功能,您需要将项目升级到BLAZE Plan

  • Go 并立即执行此操作(检查窗口的左下角)。

  • Go 并设置firestore数据库和storage 这对于扩展和功能的工作都是必要的。

Firebase 控制台


配置扩展

  • 单击Build下的Extensions面板。

  • 查找Trigger Mail扩展并单击安装。

触发邮件

这是主要部分:
在此处输入图像描述

  • 单击下一步 2 次。

授予所有必要的权限。

在此处输入图像描述

在这里您将链接您将从中发送邮件的邮件帐户

您会看到这样的屏幕-> smtp配置

网址

如果我链接的邮件是xyz123@gmail.com ,这将是您的 SMTPS 格式:

smtps://xyz123@gmail.com@smtp.gmail.com:465

SMTPS connection URI字段中使用它。

密码

这是一个有点紧张的步骤。

  • 此处的 Gmail 中启用 2 因素授权。

  • 现在您需要创建应用密码

应用密码

  • 单击生成。

  • 你会看到这样的画面 ->

在此处输入图像描述

  • 您必须在SMTP 密码字段中输入此密码,然后单击Create secret

注意:不要输入空格。

  • 等待一段时间以完成该过程。

  • 完成后,您的屏幕将如下所示 ->

在此处输入图像描述

  • 您可以保留与原始邮件相同的默认回复地址 Gmail,或者您的选择之一。

  • Email 个文档集合相同。

  • 单击安装扩展。

在此处输入图像描述

这将需要几分钟时间。 *

瞧,你完成了!


让我们发送一封测试邮件。

现在为了发送邮件,您需要将文档添加到您的firestore数据库中的mail集合中。

在此处查找官方文档。

to: ['someone@example.com'],
message: {
  subject: 'Hello from Firebase!',
  text: 'This is the plaintext section of the email body.',
  html: 'This is the <code>HTML</code> section of the email body.',
}
  • 这是发送邮件的文档格式。

“to”是一个array“message”是一个map

  • 让我们手动创建一个集合->

在此处输入图像描述

这是我的文件 window

在此处输入图像描述

  • 让我们保存这份文件。

  • 如果操作正确,几秒钟内,您将看到文档自动更新更多字段,如attempts等。

  • 查看您的邮件以查找 email。


写一个 function。

  • 让我们设置Firebase CLI
  • 在这里下载 Node.js。
  • 运行安装程序。
  • 复制驱动器中的安装路径。
  • 我的安装在C:\Program Files\nodejs

在此处输入图像描述

  • 在系统托盘中搜索environment variables

在此处输入图像描述

在此处输入图像描述

  • 将目录粘贴到System Variables -> Path下,新建并添加。

  • 按照此处的步骤下载并安装Firebase CLI .

  • 使用上述文档登录到 firebase cli。

  • 在代码编辑器中打开您的项目,然后在终端中键入firebase init

  • Select 项目并添加功能支持。 它将创建一个新文件夹functions

  • 我写了一个 function,它在创建新用户时发送入职 email。

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

admin.initializeApp();

//  sends mail if new user is regestired
exports.userOnboardingMail = functions.auth.user().onCreate((user)=>{
  admin.firestore().collection("mail").add({
    "to": [user.email],
    "message": {
      "subject": "Welcome to Textel Alert! Explore functionalities here.",
      "text": `Hi, ${user.displayName}. \n\nIt's nice to have you on-board.`,
    },
  })
      .then((result) => {
        console.log(
            "onboarding email result: ", result,
            "\ntime-stamp: ", Date.now);
      });
});

希望我能让你的一天更轻松一点:)
有帮助的话点个赞吧。。


附加链接

在这里学习 firebase 云函数。 真心推荐这个频道。
官方Trigger-mail 文档
Firebase CLI文档
Firebase 云函数文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM