NodeJS - 使用nodemailer-smtp-transport的nodemailer

时间:2015-12-18 12:53:09

标签: node.js email ssl nodemailer

我遇到了让nodemailer使用AuthSMTP(https://www.authsmtp.com/)的问题。

var nodemailer = require('nodemailer');
var transOptions = {
    host: 'mail.authsmtp.com',
    port: 25,
    secure: false,
    auth: {
        user: '...',
        pass: '...'
    }
};
var transporter = nodemailer.createTransport(transOptions);
var mainOptions = {
    from: 'whatever@domain.com',
    to: 'something@domain.com',
    subject: 'hello',
    text: 'hello world!'
};
var callback = function(err, info){
    if (err) { throw err }
    console.log('sent');
}
transporter.sendMail(mainOptions, callback);

我从AuthSMTP回来的错误是:

  

“您的程序,应用程序或设备正在尝试使用我们的SSL   服务,但您的帐户未启用SSL。“

我不想启用SSL,并且我将传输选项对象中的secure属性设置为false,因为文档说:https://github.com/andris9/nodemailer-smtp-transport#usage

为什么当我设置nodemailer不使用SSL时,AuthSMTP会说我正在使用SSL?

3 个答案:

答案 0 :(得分:3)

你可以试试这个

var transOptions = {
host: 'mail.authsmtp.com',
port: 25,
secure: false,
ignoreTLS: true
auth: {
    user: '...',
    pass: '...',

}

答案 1 :(得分:0)

  

secure - 如果为true,连接将在连接时使用TLS   服务器。如果为false(默认值),则在服务器支持时使用TLS   STARTTLS扩展。

在大多数情况下,如果要连接到端口465,请将此值设置为true。对于端口587或25,请将其保持为假。

  

ignoreTLS - 如果这是真的且安全性为假,则不使用TLS   即使服务器支持STARTTLS扩展名。

所以,这样的参数:

  

安全:false,ignoreTLS:true,

答案 2 :(得分:0)

如果您想要安全,我认为只需设置电子邮件,启动IMAP / SMTP和POP / SMTP服务,如下所示:

enter image description here

并在您的电子邮件设置中添加您的传递:

enter image description here