node.js nodemailer发送邮件奇奇怪怪的一些错误
[Error: 8676:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:c:\ws\deps\openssl\openssl\ssl\record\ssl3_
record.c:332:
] {
library: 'SSL routines',
function: 'ssl3_get_record',
reason: 'wrong version number',
code: 'ESOCKET',
command: 'CONN'
}
复制代码
Error: Unexpected socket close
at Timeout._onTimeout (c:\????????\node_modules\nodemailer\lib\smtp-transport\index.js:189:31)
at listOnTimeout (internal/timers.js:557:17)
at processTimers (internal/timers.js:500:7)
复制代码
以上两种是不同的错误,但是错因都在同一个地方,请看代码:
let transporter=nodemailer.createTransport({
host:'smtp.163.com',
port:465,
secure:true,
auth:{
user:'????????????????@163.com',
pass:'????'
}
});
复制代码
其中有一行secure,这里很重要。
第一种错误我是通过outlook发送的邮件,host:’smtp-mail.outlook.com’, port:xxx, secure:true。
第二种错误我是通过163发送的邮件,host:’smtp.163.com’, port:xxx, secure:false。
都是错在了secure上。outlook发送邮件secure必须是false,163发送邮件secure必须是true。
其它的都想也是这样,最好两种secure都试一下,这样一种不行肯定是另一种。
除此以外163的auth[‘pass’]不是邮箱密码,而是SMTP/IMAP授权码,每台电脑一个授权码,都是不同的。如果是新电脑发送邮件需要通过163开通SMTP/IMAP并获取授权码。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END