在主机和智能Linux管理员的支持下,我一直在与这个问题作斗争一周。 Postfix已启动并正在运行,邮件用户已存在。我们没有安装防火墙。
如果你可以缩小我的问题,这将是一个很大的帮助。别人有同样的问题吗? nodemailer是正确的库吗?
如果我在Ubuntu实例本身(localhost)或本地工作站上运行脚本没有区别。
摆弄端口和服务器名称没有对任何结果进行排序。
var nodemailer = require('nodemailer');
// Works ok
//var mailUser = 'jelle@googlemail.com'
//var mailPwd = '<pwd>'
//var mailService = 'gmail'
/** fails with log ..
{ Error: connect ECONNREFUSED 127.0.0.1:465
at Object.exports._errnoException (util.js:1018:11)
at exports._exceptionWithHostPort (util.js:1041:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
code: 'ECONNECTION',
errno: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 465,
command: 'CONN' }
*/
var mailUser = 'jelle@file.com'
var mailPwd = '<pwd>'
var mailService = 'file.com'
// prepare the email server connection settings
var transporter = nodemailer.createTransport({
service : mailService,
port : 465,
secure : true, // use SSL on port 465 else 587
auth : {
user : mailUser,
pass : mailPwd
}
});
var mailOptions = {
from : 'jelle@file.com',
to : '<any email address>',
subject : '<subject>',
text : '<text>'
};
function sendMail() {
transporter.sendMail(mailOptions, function(error, info) {
if (error) {
console.log(error);
} else {
console.log('Email sent: ' + info.response);
}
})
}
sendMail();
答案 0 :(得分:0)
我在贝尔格莱德有一位非常聪明的自由职业者。他重新安装了postfix并修复了以下问题。
var smtpTransport = require('nodemailer-smtp-transport');
var transporter = nodemailer.createTransport(smtpTransport({
host: mailService,
port: 25,
secure:false,
tls: {
rejectUnauthorized: false
}
}));
现在工作正常。
请注意,它旨在从localhost运行。