【发布时间】:2018-08-07 12:32:57
【问题描述】:
我正在尝试部署一个简单的 Node 应用程序,该应用程序通过 Webhook 从外部服务发送电子邮件。我可以让它在我的机器上运行良好,但是一旦我将它部署到 heroku,我会在每个发布请求上得到一个 ERRCONNREFUSED。我还尝试将 createTransport 函数的端口设置为 465,但仍然收到相同的错误。
错误
{ 错误:连接 ECONNREFUSED 127.0.0.1:587 at _exceptionWithHostPort (util.js:1044:20) at Object._errnoException (util.js:1022:11) at TCPConnectWrap.afterConnect [as oncomplete] (net.js: 1182:14) 代码:'ECONNECTION',errno:'ECONNREFUSED',系统调用:'connect',地址:'127.0.0.1', 端口:587, 命令:'CONN' }
index.js
const express = require('express');
const bodyParser = require('body-parser');
const nodemailer = require('nodemailer');
const app = express();
var port = process.env.PORT || 8800;
app.use(bodyParser.json());
app.post('/', function(req, res) {
var messageBody = {};
messageBody.name = req.body.name;
messageBody.amount = req.body.amount_in_cash;
messageBody.phone = req.body.phone;
messageBody.email = req.body.email;
if (!req.body.uid) {
return console.log("No UID");
}
var transporter = nodemailer.createTransport({
service : 'smtp.gmail.com',
auth : {
user : 'example@gmail.com',
pass : 'xxxxxx'
}
});
var mailOptions = {
from: 'example@gmail.com',
to : 'example@email.com',
subject : "New Donation Lead",
text : `Name: ${messageBody.name}\nPhone: ${messageBody.phone}\nEmail:
${messageBody.email}\nAmount: ${messageBody.amount}`
}
transporter.sendMail(mailOptions, function(error, info) {
if(error) {
console.log(error);
} else {
console.log("message sent");
}
});
res.send(200).end();
});
app.listen(port, () => console.log('Listening on port: '+ port));
【问题讨论】:
标签: javascript node.js express nodemailer