2017-02-22 1 views
0

Ich benutze das Modul nodemailer, um Mail von meiner Nodejs Anwendung zu senden. Ich erhalte Fehler: verbinden Sie ETIMEDOUT xxx.xxx.xx.xxx:465. Kann mir jemand helfen, das zu lösen? Hier paste ich meinen Code.NodeMailer Verbindung Timeout Fehler

var transporter = nodemailer.createTransport({ 
service: 'Gmail', 
auth: { 
    user: '[email protected]', 
    pass: 'my_gmail_password' 
} 
}); 

console.log('created'); 
transporter.sendMail({ 
from: '[email protected]', 
    to: '[email protected]', 
    subject: 'hello world!', 
    text: 'hello world!' 
}); 

Antwort

2

Haben Sie sich this answer angesehen.

Es stellt sich heraus, dass Google einen Server von Drittanbietern autorisieren muss, um jetzt über SMTP auf Ihr Konto zuzugreifen. Sie müssen "Weniger sichere Apps" in Ihrem Google Mail-Konto aktivieren, wenn Sie Benutzername/Passwort (more info here) verwenden möchten). So

Sie haben zwei Optionen:

  • Verwendung OAuth

  • machen Ihrem Konto weniger sicher

+0

Hallo Ivan, vielen Dank für die Beantwortung. Ich habe die zweite Option (weniger sicher) ausprobiert. Aber immer noch der selbe Fehler. – naik3

+0

Nur zur Überprüfung, ich habe dies geändert ** nodemailer.createTransport ({** zu ** nodemailer.createTransport ({"SMTP" **. Ich erhalte diesen Fehler ** TypeError: Kann die Eigenschaft 'Mailer' bei String 'nicht erstellen SMTP '** – naik3

+0

Es dauert eine Weile, bis neue Einstellungen angewendet werden.So kannst du es nach einer Stunde versuchen.Das war meine Erfahrung mindestens. –

0
// Create a SMTP transport object 
var transport = nodemailer.createTransport("SMTP", { 
    service: 'Hotmail', 
    auth: { 
     user: "username", 
     pass: "paasweord" 
    } 
}); 

console.log('SMTP Configured'); 

// Message object 
    var message = { 

    // sender info 
    from: '[email protected]', 

    // Comma separated list of recipients 
    to: req.query.to //'[email protected]', 

    // Subject of the message 
    subject:req.query.subject //'Nodemailer is unicode friendly ✔', 

    // plaintext body 
    text: req.query.text //'Hello to myself!', 

    // HTML body 
    /* html:'<p><b>Hello</b> to myself <img src="cid:[email protected]"/></p>'+ 
    '<p>Here\'s a nyan cat for you as an embedded attachment:<br/></p>'*/ 
    }; 

    console.log('Sending Mail'); 
    transport.sendMail(message, function(error){ 
    if(error){ 
    console.log('Error occured'); 
    console.log(error.message); 
    return; 
    } 
    console.log('Message sent successfully!'); 


//transport.close(); // close the connection pool 
    }); 
+0

Hallo, danke für das Beantworten, ich erhalte diesen Fehler TypeError: Kann Eigentum 'mailer' auf Zeichenkette 'SMTP' nicht schaffen – naik3

+0

Ich denke, Sie verwenden ältere Version des Knotens Bitte überprüfen Sie die offizielle Ressource für weitere Details: https://nodemailer.com/smtp/ – aaditya

0

erlebte ich das gleiche Problem heute, fanden diese Dokumentation. ..

Hatte einen Capcha-Prozess vom Server zu tun, indem Sie eine URL besuchen, während Sie in Gmail eingeloggt sind.

Hoffentlich hilft es anderen.

0

Es sind die einzigen Gründe für diesen Fehler:

  1. weniger sicheren Apps: Sie „weniger sicheren Apps“ von Ihrem Google Mail-Konto aktivieren müssen.

  2. Verwenden OAuth