【发布时间】:2017-12-26 15:25:33
【问题描述】:
var express = require('express');
var app = express();
var nodemailer=require('nodemailer');
var transporter = nodemailer.createTransport('smtps://username@gmail.com:password@smtp.gmail.com');
app.get('/sendMail', function(req,res){
var mailOptions={
to: 'receiver@gmail.com',
subject: 'Test Mail',
html: 'Testing the Mail'
}
transporter.sendMail(mailOptions,function(err,response){
if(err){
res.end('Mail not sent');
}
else{
res.end('Mail sent');
}
});
}).listen(9091);
console.log('This is running');
我正在开发一个 Firebase 网络应用。我需要通过我的网络应用程序发送电子邮件。我看了一些教程并找到了一些代码。使用上面的代码,我可以发送电子邮件。它在端口 9091 中运行。当地址栏有 www.mywebsite.com/sendMail 时,该消息将被发送。但是当我将此页面托管到 Firebase 时,此代码要进行哪些更改,是否必须更改端口号?请帮助在我的网络应用中实现此代码。
【问题讨论】:
-
看起来您的 Web 应用程序是用 NodeJS 开发的——一个在服务器端运行 javascript 代码的平台。但是 Firebase 托管是一个静态主机,这意味着 javascript 将在客户端运行。如果您想在 Firebase 上托管您的应用,可以使用创建一个发送邮件的Cloud Function。
-
@RosárioPereiraFernandes 我想你是这么说的,我只能通过云功能发送邮件。
标签: email firebase nodemailer firebase-hosting