Я пытаюсь отправить электронное письмо через maildrillapp, но не могу отправить. Я устанавливаю связанные пакеты и беру этот код из Здесь.
Мой код для app.js
:
var nodemailer = require("nodemailer");
var mandrillTransport = require('nodemailer-mandrill-transport');
/*
* Configuring mandrill transport.
* Copy your API key here.
*/
var smtpTransport = nodemailer.createTransport(mandrillTransport({
auth: {
apiKey : 'xxxxxxxxxxxxxxxxxxx'
}
}));
// Put in email details.
let mailOptions = {
from : '[email protected]',
to : '[email protected]',
subject : "This is from Mandrill",
html : "Hello,<br>Sending this email using Node and Mandrill"
};
// Sending email.
smtpTransport.sendMail(mailData,function(error, response){
if (error) {
throw new Error("Error in sending email");
}
console.info("Message sent: " + JSON.stringify(response));
});
когда я запускаю это, он выдает следующую ошибку
'C:\office\new 3\maildrill\app.js:23 smtpTransport.sendMail(mailData,function(error, response){ ^
ReferenceError: mailData is not defined at Object. (C:\office\new 3\maildrill\app.js:23:24) at Module._compile (module.js:653:30) at Object.Module._extensions..js (module.js:664:10) at Module.load (module.js:566:32) at tryModuleLoad (module.js:506:12) at Function.Module._load (module.js:498:3) at Function.Module.runMain (module.js:694:10) at startup (bootstrap_node.js:204:16) at bootstrap_node.js:625:3 PS C:\office\new 3\maildrill>'
Вот демонстрация отправки писем с помощью nodemailer nodemailer.
Я знаю, что это старый, но я обнаружил ту же проблему, используя тот же пример, который я нашел в Интернете, поэтому отправляю ответ для общей справки. Проблема в том, что автор определяет mailOptions, но вместо этого ссылается на него как на mailData. Я предполагаю, что они решили переименовать переменную, но сделали только половину работы!
Обновите команду sendMail соответствующим образом, и она будет работать.
smtpTransport.sendMail(mailOptions,function(error, response){