smtp通过postfix和nodejs nodemailer连接关闭发送邮件
smtp send mail via postfix and nodejs nodemailer connection closed
我有通过smtp服务器远程发送的问题
使用 nodejs 模块 nodemailer
host: 'mail.5cpa.ru'
port: 587
secure: false (true tried also)
smtp 服务器是我的,我可以通过 thenderbird 发送邮件,使用相同的设置
日志
server 220 5cpa.ru ESMTP Postfix (Ubuntu)
client EHLO vonica
server 250-5cpa.ru
250-PIPELINING
250-SIZE 15728640
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
client STARTTLS
server 220 2.0.0 Ready to start TLS
socket Closing connection to the server
谢谢!
我有类似的问题(可能是相同的),我发现当我使用自签名 SSL 证书时会发生这种情况。
我通过向 tls:
添加 "rejectUnauthorized" 选项来解决这个问题
var transporter = nodemailer.createTransport(smtpTransport({
host: host,
port: 25,
auth: {
user: user,
pass: pass
},
tls:{
rejectUnauthorized: false
}
}));
错误应用于 "sendMail" 函数的回调,而不是作为 'error'.
发出
我没有足够的信誉回复上面,但你也可以从 Nodemailer 查看最新的语法,即:
const smtpConfig = {
host: 'smtp.gmail.com',
port: 465,
secure: true, // use SSL
auth: {
user: 'user@gmail.com',
pass: 'pass'
}
}
note:
secure: true // use SSL
如果您告诉它使用 SSL,您可能不需要 TLS 解决方法。
参考:https://nodemailer.com/2-0-0-beta/setup-smtp/
我的目前 运行 关闭 postfix 和 mailx,我只需要输入主机名:
const transporter = nodemailer.createTransport({
name: 'localhost'
})
只要您可以执行此测试(输入 shell),这就应该有效:
echo "Email Body Test" | mail -s "Email Subject Test" you@yourdomain.com
如果它不起作用,请检查您的防火墙,端口 25(在这种情况下可能不是问题,但在其他类似情况下)。
同时确认用户运行节点有权限使用邮件程序。
我有通过smtp服务器远程发送的问题 使用 nodejs 模块 nodemailer
host: 'mail.5cpa.ru'
port: 587
secure: false (true tried also)
smtp 服务器是我的,我可以通过 thenderbird 发送邮件,使用相同的设置
日志
server 220 5cpa.ru ESMTP Postfix (Ubuntu)
client EHLO vonica
server 250-5cpa.ru
250-PIPELINING
250-SIZE 15728640
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
client STARTTLS
server 220 2.0.0 Ready to start TLS
socket Closing connection to the server
谢谢!
我有类似的问题(可能是相同的),我发现当我使用自签名 SSL 证书时会发生这种情况。 我通过向 tls:
添加 "rejectUnauthorized" 选项来解决这个问题var transporter = nodemailer.createTransport(smtpTransport({
host: host,
port: 25,
auth: {
user: user,
pass: pass
},
tls:{
rejectUnauthorized: false
}
}));
错误应用于 "sendMail" 函数的回调,而不是作为 'error'.
发出我没有足够的信誉回复上面,但你也可以从 Nodemailer 查看最新的语法,即:
const smtpConfig = {
host: 'smtp.gmail.com',
port: 465,
secure: true, // use SSL
auth: {
user: 'user@gmail.com',
pass: 'pass'
}
}
note:
secure: true // use SSL
如果您告诉它使用 SSL,您可能不需要 TLS 解决方法。
参考:https://nodemailer.com/2-0-0-beta/setup-smtp/
我的目前 运行 关闭 postfix 和 mailx,我只需要输入主机名:
const transporter = nodemailer.createTransport({
name: 'localhost'
})
只要您可以执行此测试(输入 shell),这就应该有效:
echo "Email Body Test" | mail -s "Email Subject Test" you@yourdomain.com
如果它不起作用,请检查您的防火墙,端口 25(在这种情况下可能不是问题,但在其他类似情况下)。
同时确认用户运行节点有权限使用邮件程序。