nodemailer和zoho电子邮件问题'530必须首先发出STARTTLS命令。

我正在使用最新版本的nodemailer 4.1.0版本。 我尝试使用这里的示例代码https://nodemailer.com/smtp/

这是我的代码

let transporter = nodemailer.createTransport({ host: 'smtp.zoho.com', port:587, secure: false, auth: { user: this.user, pass: this.password } }); var mailOptions: nodemailer.SendMailOptions = { from: ****@***.com, to: test@abc.com, subject: 'Hello ✔', text: 'Hello world ✔', html: '<b>Hello world ✔</b>' }; transporter .sendMail(mailOptions) .then( (info) => { // console.log(info); resolve({status: info.messageId}) } ) .catch(err => { // console.log(err); reject({status: err.toString()}) }) 

我得到以下错误。 我已经设置了安全标志为false,并且还使用了ignodeTLS。 以前版本的nodemailer 0.7.1没有任何问题。 我错过了任何特定的configuration?

  { Error: Invalid login: 530 Must issue a STARTTLS command first. at SMTPConnection._formatError (C:\Project\NotificationService\node_modules\nodemailer\lib\smtp-connection\index.js:577:19) at SMTPConnection._actionAUTHComplete (C:\Project\NotificationService\node_modules\nodemailer\lib\smtp-connection\index.js:1306:34) at SMTPConnection._responseActions.push.str (C:\Project\NotificationService\node_modules\nodemailer\lib\smtp-connection\index.js:349:26) at SMTPConnection._processResponse (C:\Project\NotificationService\node_modules\nodemailer\lib\smtp-connection\index.js:733:20) at SMTPConnection._onData (C:\Project\NotificationService\node_modules\nodemailer\lib\smtp-connection\index.js:529:14) at Socket._socket.on.chunk (C:\Project\NotificationService\node_modules\nodemailer\lib\smtp-connection\index.js:481:47) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at readableAddChunk (_stream_readable.js:176:18) at Socket.Readable.push (_stream_readable.js:134:10) at TCP.onread (net.js:548:20) code: 'EAUTH', response: '530 Must issue a STARTTLS command first.', responseCode: 530, command: 'AUTH PLAIN' } 

你也可以使用这个没有这些tls参数的默认值是false。 你得到了错误,因为你不通过服务:在节点上的'zoho'

 let transporter = nodemailer.createTransport({ service:'Zoho', host: this.service, port:587, secure: false, auth: { user: this.user, pass: this.password } }); 

通过types“@ types / nodemailer” )文件后,我添加了以下标志

1)服务:“Zoho”

2)requireTLS:false

它正在工作:)

 let transporter = nodemailer.createTransport({ service:'Zoho', host: this.service, port:587, secure: false, ignoreTLS:true, requireTLS:false, auth: { user: this.user, pass: this.password } });