Проблемы 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
}});