我正在尝试通过maildrillapp发送电子邮件,但无法发送。 我安装了相关的软件包,并从Here中获取了此代码。
我对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 : 'example@domain.com',
to : 'example@domain.com',
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.log("Message sent: " + JSON.stringify(response));
});
当我运行它时,它会引发以下错误
'C:\ office \ new 3 \ maildrill \ app.js:23 smtpTransport.sendMail(mailData,function(error,response){ ^
ReferenceError:未定义mailData 在对象。 (C:\ office \ new 3 \ maildrill \ app.js:23:24) 在Module._compile(module.js:653:30) 在Object.Module._extensions..js(module.js:664:10) 在Module.load(module.js:566:32) 在tryModuleLoad(module.js:506:12) 在Function.Module._load(module.js:498:3) 在Function.Module.runMain(module.js:694:10) 在启动时(bootstrap_node.js:204:16) 在bootstrap_node.js:625:3 PS C:\ office \ new 3 \ maildrill>'
答案 0 :(得分:1)
以下是一些使用nodemailer nodemailer发送电子邮件的演示
答案 1 :(得分:1)
我知道这很老了,但是我使用网上找到的示例发现了相同的问题,因此发布了一个答案以供一般参考。
问题在于作者定义了“ mailOptions”,但将其引用为“ mailData”。我猜他们决定重命名变量,但只完成了一半工作!
相应地更新sendMail命令,它将起作用。
smtpTransport.sendMail(mailOptions,function(error, response){