Чтобы обойти эту проблему, вам необходимо установить более раннюю версию nodemailer, чтобы она могла работать на мобильной службе Azure. Я добавил версию 0.7.1 nodemailer в package.json для Azure, затем сделал необходимые изменения кода, и это сработало для меня.
Код меняется, что вам нужно сделать, чтобы поддержать 0.7.1 очень незначительны, вот полный код из документации:
var nodemailer = require("nodemailer");
// create reusable transport method (opens pool of SMTP connections)
var smtpTransport = nodemailer.createTransport("SMTP",{
service: "Gmail",
auth: {
user: "[email protected]",
pass: "userpass"
}
});
// 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
smtpTransport.sendMail(mailOptions, function(error, response){
if(error){
console.log(error);
}else{
console.log("Message sent: " + response.message);
}
// if you don't want to use this transport object anymore, uncomment following line
//smtpTransport.close(); // shut down the connection pool, no more messages
});
Nodemailer 0.7.1 documentation
Вы используете тот же (или аналогичные) версии 'node'? Используете ли вы nodemailer 0.7 локально, но 1.0 удаленно? Можете ли вы дать полную стеклу? – RikkusRukkus
Вы правы. Версия узла моей машины - 0.10.29, а на моей машине - 0.8.28. Любая идея, как обновить версию nodejs на azure-mobile-service? Или как установить зависимости, совместимые с этой версией. Я проверил версию nodemailer, и она одинакова (1.3.0) на обеих машинах. – ribhu
Не могу вам помочь, извините. [Согласно разработчику] (https://github.com/andris9/Nodemailer/issues/346), nodemailer 0.7.1 - последняя 0,8-совместимая версия. Вам нужно внести некоторые изменения в свой код. Nodemailer 1.x не полностью совместим с версиями 0.x. – RikkusRukkus