node.js nodemailer发送邮件奇奇怪怪的一些错误

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
喜欢就支持一下吧
点赞0 分享