2017-08-24 5 views
0

J'utilise nodemailer pour envoyer des emails avec un hôte privé. Voici mon code:Nodemailer problèmes avec l'hôte privé

var transporter = nodemailer.createTransport({ 
host: "smtp.abc.net", 
secure: false, 
port: 587, 
auth: { 
    user: "[email protected]", 
    pass: "password" 
} 
}); 

Il faisait des problèmes de certificats, donc j'ai essayé d'ajouter des certificats, mais encore une fois il y avait une erreur - « doit émettre une commande STARTTLS »

J'ai ajouté une option -

tls: { 
    rejectUnauthorized: false 
} 

Et cela a fonctionné. Mais je ne suis pas sûr que ce soit un bon moyen de mettre rejectUnauthorized à false. Quels sont les impacts de cela? Y a-t-il une autre façon de faire cela?

Répondre

0

Avez-vous la même erreur avec l'option "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 
    } 
}); 
+0

oui j'obtenais la même erreur avec le paramètre secure à true – Abhilasha

0

J'ai ajouté 4 options: ssl, ignoreTLS, requireTLS, rejectUnauthorized. Et ça a marché. On dirait que le problème était avec NoSSL. J'ai désactivé SSL et ajouté TLS.

var transporter = nodemailer.createTransport({ 
host: "example.com", 
secure: false, 
port: 587, 
ssl: false, 
ignoreTLS: false, 
requireTLS: true, 
auth: { 
    user: "[email protected]", 
    pass: "password" 
}, 
tls: { 
    secureProtocol: "TLSv1_2_method", 
    rejectUnauthorized: false 
}});