我使用这些技术:
我在firebase托管上托管我的网站,我有一个如下图所示的联系表单,我希望每次用户提交该表单,发送电子邮件给网站管理员
我将如何使用firebase和Nodemailer
发送电子邮件我是否需要在functions文件夹中的index.js中使用nodemailer,或者这是错误的?
这是我的联系表格。
答案 0 :(得分:8)
当你不确定某些事情是如何完成的时候,总是很好。在这里,我将尝试给您一些简单的步骤,了解如何实现这一目标。
首先确保在项目中初始化Firebase功能。如果您不知道如何做到这一点,只需谷歌它,在他们的公司网站上,他们对每个主题都有惊人的解释。
完成此操作后,使用HTTP触发器设置单个Firebase功能。确保在项目的Firebase功能文件夹中运行npm install nodemailer@2.4.1 --save
。确实安装版本2.4.1至关重要,因为在尝试部署函数本身之后所有版本都会崩溃。 (我还没弄明白为什么)
修改强>
我刚刚发现Firebase功能与较新版本的Nodemailer崩溃的原因是什么。这是我正在运行的Node版本。更新我的节点后,一切都很好。这里也提到了这个问题: Link to official GitHub page
所以,仍然由您决定使用哪个版本,只需确保如果您运行的是最新的Nodemailer,它还需要更新的Node。 ;)
完成后,打开Firebase功能的代码,转到Nodemailer的官方网站,查看单个邮件的编写和发送方式。这里有一个很棒的例子,实际上大部分是复制粘贴到你的代码中,还有一些额外的配置(用户名和密码)。
确保从您的前端Angular应用程序中,您使用表单上的字段中的数据发出POST请求。您还需要确保当Firebase功能收到请求时,它会配置电子邮件,发送它,并在最后响应正确的状态代码和消息。
我写的所有内容可能听起来有点复杂,我不知道你的ICT能力,但要确保你仔细阅读,谷歌你不明白,如果你仍然找不到答案,请确保你在这里回复,所以我或其他人可以给你一个帮助。
我还会在这里添加一个链接,您可以在此过程中指导自己。
Click here to see an example from Google themselves
祝你好运。