我正在尝试使用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: "***********"
}
});
这里我需要向有效用户发送邮件,但收到上述错误。
答案 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();
});