使用 firebase 函数和 nodemailer 从联系表单发送电子邮件

Sending emails from contact form, with the firebase functions and nodemailer

我使用这些技术:

我在 firebase 主机上托管我的网站,我有一个如下图所示的联系表格,我希望每次用户提交该表格时,都向网站管理员发送一封电子邮件

我将如何使用 firebase 和 Nodemailer

发送电子邮件

我应该在 index.js on functions 文件夹中要求 nodemailer 还是错误的?

This is my contact form.

当您不确定某件事是如何完成的时候,问问总是好的。在这里,我将尝试为您提供一些有关如何实现这一目标的简单步骤。

首先确保在项目中初始化 Firebase 函数。如果您不知道该怎么做,就 Google 吧,在他们的公司网站上,他们确实对每个主题都有惊人的解释。

完成后,使用 HTTP 触发器设置单个 Firebase 函数。确保在项目的 Firebase 函数文件夹中,您 运行 npm install nodemailer@2.4.1 --save。安装真正的 2.4.1 版是一个关键点,因为之后所有的版本在尝试部署函数本身时都会崩溃。 (我还没搞明白为什么)

编辑:

我刚刚发现 Firebase 函数在较新版本的 Nodemailer 中崩溃的原因。这是我 运行ning 的 Node 版本。更新我的节点后,一切都很好。这里也提到了这个问题: Link to official GitHub page

因此,仍然取决于您喜欢哪个版本,只要确保如果您运行使用最新的 Nodemailer,它也需要更新的 Node。 ;)

完成后,打开你的Firebase函数的代码,到Nodemailer的官网,看看一条消息是如何组成和发送的。那里有一个很棒的例子,它实际上主要是复制粘贴到你的代码中,还有一些额外的配置(用户名和密码的东西)。

确保从您的前端 Angular 应用程序发出 POST 请求,其中包含您在表单上的那些字段中的数据。您还需要确保当您的 Firebase 功能收到请求时,它会配置电子邮件消息、发送它并在最后以正确的状态代码和消息进行响应。

我写的所有内容可能听起来有点复杂,我不知道你的 ICT 能力,但请确保你仔细阅读它,你 Google 你不明白的地方,如果你仍然不能找到答案,确保你在这里回复,这样我或其他人可以给你帮助。

我也会在这里放一个link,你可以在这个过程中用来指导自己。

Click here to see an example from Google themselves

祝你好运。