使用Node.js实现nodemailer发送邮件时出错

时间:2017-08-02 06:28:36

标签: node.js nodemailer

我正在尝试使用node.js使用nodemailer模块向用户发送电子邮件,但是它会抛出以下错误。

错误:

this.transporter.mailer = this;
                                ^

TypeError: Cannot create property 'mailer' on string 'SMTP'
    at Mail (/opt/lampp/htdocs/heroku/FGDP/node_modules/nodemailer/lib/mailer/index.js:45:33)
    at Object.module.exports.createTransport (/opt/lampp/htdocs/heroku/FGDP/node_modules/nodemailer/lib/nodemailer.js:46:14)
    at Object.<anonymous> (/opt/lampp/htdocs/heroku/FGDP/api/api.js:8:32)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)

我正在解释下面的代码。

var nodemailer = require("nodemailer");
var smtpTransport = nodemailer.createTransport("SMTP",{
    service: "Gmail",
    auth: {
        user: "subhrajyoti@gmai.com",
        pass: "***********"
    }
});

这里我需要向有效用户发送邮件,但收到上述错误。

2 个答案:

答案 0 :(得分:2)

我认为正确的语法是这样的

var nodemailer = require("nodemailer");
var smtpTransport = nodemailer.createTransport({
service: "Gmail",
auth: {
    user: "subhrajyoti@gmai.com",
    pass: "***********"
}
});

答案 1 :(得分:0)

// Use Smtp Protocol to send Email
      var nodemailer = require("nodemailer");
      var smtpTransport = nodemailer.createTransport({
        host: 'smtp.mailgun.org',
        port: 25,
        secure: false, // true for 465, false for other ports
        auth: {
            user: "smtp username", 
            pass: "smtp password" 
        }
      });
      var mail = {
          from: "From@gmail.com",
          to: "to@gmail.com",
          subject: "Your subject",
          text: "Node.js New world for me",
          html: "<b>Node.js New world for me</b>"
      }

      smtpTransport.sendMail(mail, function(error, response){
          if(error){
              console.log(error);
          }else{
                //console.log("Message sent: " + response.message);
          }
          smtpTransport.close();
      });
相关问题