使用maildrill发送电子邮件

时间:2018-10-31 12:15:06

标签: node.js nodemailer

我正在尝试通过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>'

2 个答案:

答案 0 :(得分:1)

以下是一些使用nodemailer nodemailer发送电子邮件的演示

答案 1 :(得分:1)

我知道这很老了,但是我使用网上找到的示例发现了相同的问题,因此发布了一个答案以供一般参考。
问题在于作者定义了“ mailOptions”,但将其引用为“ mailData”。我猜他们决定重命名变量,但只完成了一半工作!

相应地更新sendMail命令,它将起作用。

smtpTransport.sendMail(mailOptions,function(error, response){