Я использую nodemailer, https://github.com/andris9/Nodemailer.
Я попробовал на примере (конечно, с измененными адресами электронной почты). Это не работает. Ничего не утешить. После 30-40 с я получаю:
{ [Error: Connection timeout] code: 'ETIMEDOUT' }
Error: connect ETIMEDOUT
at errnoException (net.js:904:11)
at Object.afterConnect [as oncomplete] (net.js:895:19)
Любая подсказка о том, что может быть не так? Как отлаживать?
Вот код из примера. Я вставил это в server.js, поэтому он срабатывает при запуске приложения.
var nodemailer = require('nodemailer');
// create reusable transporter object using SMTP transport
var transporter = nodemailer.createTransport({
service: 'Gmail',
auth: {
user: '[email protected]',
pass: 'userpass'
}
});
// NB! No need to recreate the transporter object. You can use
// the same transporter object for all e-mails
// setup e-mail data with unicode symbols
var mailOptions = {
from: 'Fred Foo ✔ <[email protected]>', // sender address
to: '[email protected], [email protected]', // list of receivers
subject: 'Hello ✔', // Subject line
text: 'Hello world ✔', // plaintext body
html: '<b>Hello world ✔</b>' // html body
};
// send mail with defined transport object
transporter.sendMail(mailOptions, function(error, info){
if(error){
console.log(error);
}else{
console.log('Message sent: ' + info.response);
}
});
Обновление Оказывается, моя компания заблокировала smtp Google. Так что ничего страшного в коде не было.