使用nodemailer通过SMTP 365发送电子邮件时出错(MEANjs scaffold)

yizd12fk  于 2024-01-07  发布在  Node.js
关注(0)|答案(4)|浏览(150)

我尝试使用Nodemailer(在MEANjs脚手架中)使用SMTP 365发送电子邮件,但我得到以下错误:

[Error: 140735277183760:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:795:]

字符串
我使用以下Nodemailer选项:

{ 
    host: 'smtp.office365.com',
    port: '587',
    auth: { user: 'xxxx', pass: 'xxxx' },
    secure: 'false',
    tls: { ciphers: 'SSLv3' }
}


删除 tls 字段并没有什么不同。我错过了什么?

bybem2ql

bybem2ql1#

解决方案很简单。'secure'字段应该是'secureConnection'。生成SMTP的MEANjs scaffold使用'secure'字段创建了mailer选项。其余选项都很好。对于需要工作的SMTP 365 SMTP nodemailer选项块的任何人,以下应该可以工作:

{ 
    host: 'smtp.office365.com',
    port: '587',
    auth: { user: 'xxxx', pass: 'xxxx' },
    secureConnection: false,
    tls: { ciphers: 'SSLv3' }
}

字符串

b09cbbtk

b09cbbtk2#

我知道这是旧的,但如果有人在2019年查找这个,你可以添加service: "Outlook365"
而且您不必指定连接选项。
Node Mailer Docs

let transporter = nodemailer.createTransport({
    service: "Outlook365",
    auth: {
      user: '[email protected]',
      pass: 'FROMUSERPASS'
    },    
  })

  let info = transporter.sendMail({
    from: '[email protected]',
    to: '[email protected]',
    subject: 'Test',
    text: 'hello world',
    html: '<h1>TEST</h1>'
  })

字符串

gdx19jrr

gdx19jrr3#

这个nodemailer文档https://nodemailer.com/2-0-0-beta/setup-smtp/确实声明了options.secure而不是options.secure Connection。它还建议,在一个例子中,options.secure需要一个布尔值true或false,而不是一个字符串值'true''false'。从'false'周围删除''对我来说很有效。

egmofgnx

egmofgnx4#

我的问题是,用户名和密码拼写正确,但我没有在创建后登录帐户.所以我使用一个邮件程序(雷鸟)登录一次,不得不更改我的密码,然后我可以通过Nodemailer访问.

相关问题