web-dev-qa-db-fra.com

Impossible de se connecter à Outlook.com SMTP avec Nodemailer

Je crée l'objet de transport comme ceci.

var transport = nodemailer.createTransport("SMTP", {
        Host: "smtp-mail.Outlook.com", // hostname
        secureConnection: false, // use SSL
        port: 587, // port for secure SMTP
        auth: {
            user: "[email protected]",
            pass: "password"
        }
    });

C'est l'erreur que je reçois lorsque j'essaie d'envoyer le courrier.

[Erreur: 139668100495168: erreur: 1408F10B: routines SSL: SSL3_GET_RECORD: numéro de version incorrect: ../ deps/openssl/openssl/ssl/s3_pkt.c: 337:]

Lorsque j'ai essayé de définir ignoreTLS sur true. C'est ce que je reçois

{[AuthError: Connexion invalide - 530 5.7.0 Doit d'abord lancer une commande STARTTLS] name: 'AuthError', data: '530 5.7.0 Doit d'abord émettre une commande STARTTLS'}

Est-ce que je fais quelque chose de mal? S'il vous plaît aider.

12
Jeevan

J'avais le même problème jusqu'à ce que je tombe sur https://github.com/andris9/Nodemailer/issues/165

Essayez d'ajouter l'option de chiffrement tls pour utiliser SSLv3.

var transport = nodemailer.createTransport("SMTP", {
    Host: "smtp-mail.Outlook.com", // hostname
    secureConnection: false, // TLS requires secureConnection to be false
    port: 587, // port for secure SMTP
    auth: {
        user: "[email protected]",
        pass: "password"
    },
    tls: {
        ciphers:'SSLv3'
    }
});

Alternativement, pour hotmail/live/Outlook, vous pouvez simplement utiliser

var transport = nodemailer.createTransport("SMTP", {
    service: "hotmail",
    auth: {
        user: "[email protected]",
        pass: "password"
    }
});
23
Ray L

Si vous utilisez Nodemailer 1.x ou supérieur, vous pouvez utiliser:

var transporter = nodemailer.createTransport('smtp://username%40Outlook.com:[email protected]');
0
Richie_b