我已经尝试找到这个问题的答案,但即使我对类似问题使用响应它也行不通。
var express = require('express');
var path = require('path');
var app = express();
var bodyParser = require('body-parser');
var nodemailer = require("nodemailer");
var smtpTransport = require('nodemailer-smtp-transport');
app.listen(process.env.PORT || 3000,function() {
console.log("App is running" );
});
app.use(express.static(path.join(__dirname, 'public')));
app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json());
/*app.listen(port, function() {
console.log("App is running on port " + port);
});*/
var smtpTransport = nodemailer.createTransport(smtpTransport({
service: 'Gmail',
auth: {
user: 'naomikudren@gmail.com',
pass: '###'
}
}));
app.post('/send-email', function(req, res) {
var mailOptions = {
from: '"Naomi" <naomikudren@gmail.com>', // sender address
to: "naomikudren@gmail.com", // list of receivers
subject: 'Request ', // Subject line
text: "From: " + req.body.from + " To: " + req.body.to + " Date: " + req.body.date + " Time: " + req.body.time // plaintext body
};
smtpTransport.sendMail(mailOptions, function(error, info) {
if (error) {
return console.log(error);
}
console.log('Message sent: ' + info.response);
});
res.redirect("/index.html");
});
我的代码中是否有我遗漏的内容或可能导致我的服务器无法运行的内容?
答案 0 :(得分:0)
正如我之前在评论中指出的那样,您提到的错误只是之前遇到的错误阻止您的应用启动的结果。
(...)启动超时
这基本上意味着,由于不同的原因,启动应用程序的过程已经超时。
在这种情况下,它找不到模块nodemailer-smtp-transport
,所以您需要做的就是在dependencies
文件中将其作为package.json
的属性提供,而heroku应该处理其余部分。
{
...
"dependencies": {
...
"nodemailer-smtp-transport": "^2.7.4",
...
}
...
}