我使用这些设置使用 apache java 邮件客户端并且它有效。
smtp:
host: host
port: 587
sslEnabled: false
sslTrust: trust
tlsEnabled: true
我正在尝试使用nodemailer在node.js中重新创建它
var transporter = nodemailer.createTransport({
host: host,
port: 587,
secure: true, // upgrade later with STARTTLS
auth: {
user: email,
pass: pass,
},
requireTLS: true,
tls: {
rejectUnauthorized: false,
servername: trust
},
debug: true
});
var mailOptions = {
from: email,
to: email,
subject: 'test subject',
text: 'test text'
};
我对双方都保持信任并主持同样的事情。
这些设置返回以下错误
Error: connect ETIMEDOUT address:587
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16) {
errno: -60,
code: 'ESOCKET',
syscall: 'connect',
address: '155.56.68.170',
port: 587,
command: 'CONN'
}
email error: Error: connect ETIMEDOUT address:587
email error: Error: connect ETIMEDOUT address:587
此电子邮件服务器表示需要以下配置
- Port: 465
SSL: required
or
- Port: 587
STARTTLS: required
我尝试了端口 465、587、secure 和 requireTLS 的所有组合。
我没有 SSL 证书。
使用安全:假,
var transporter = nodemailer.createTransport({
host: host,
port: 587,
secure: false,
auth: {
user: email,
pass: pass,
},
requireTLS: true,
tls: {
rejectUnauthorized: false,
servername: trust
},
debug: true
});
var mailOptions = {
from: email,
to: email,
subject: 'test subject',
text: 'test text'
};
此代码没有其他错误