Проблемы Nodemailer с частным хостом

Я использую nodemailer для отправки писем с частного хоста. Вот мой код:

var transporter = nodemailer.createTransport({
 host: "smtp.abc.net",
 secure: false,
 port: 587,
 auth: {
    user: "example@example.com",
    pass: "password"
 }
});

Он получал проблемы с сертификатами, поэтому я попытался добавить сертификаты, но снова возникла ошибка: "Сначала нужно выполнить команду STARTTLS".

Я добавил опцию -

tls: {
    rejectUnauthorized: false
}

И это сработало. Но я не уверен, что это хороший способ установить rejectUnauthorized в false. Каковы последствия этого? Есть ли альтернативный способ сделать это?

2 ответа

Вы получаете ту же ошибку с опцией "secure: true"?

var transporter = nodemailer.createTransport({
    host: 'poczta.o2.pl',
    port: 465,  
    secure: true, // secure:true for port 465, secure:false for port 587
    auth: {
        user: process.env.MAILING_USER,
        pass: process.env.MAILING_USER_PASSWORD
    }
}); 

Я добавил 4 варианта: ssl, ignoreTLS, requireTLS, rejectUnauthorized. И это сработало. Похоже, проблема была с NoSSL. Я выключил SSL и добавил TLS.

var transporter = nodemailer.createTransport({
host: "example.com",
secure: false,
port: 587,
ssl: false,
ignoreTLS: false,
requireTLS: true,
auth: {
    user: "user@email.com",
    pass: "password"
},
tls: {
  secureProtocol: "TLSv1_2_method",
  rejectUnauthorized: false
}});
Другие вопросы по тегам