Reputation: 3560
I am trying to send email to user using nodemailer
module using node.js but it's throwing the below error.
Error:
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)
Here is my code:
var nodemailer = require("nodemailer");
var smtpTransport = nodemailer.createTransport("SMTP",{
service: "Gmail",
auth: {
user: "[email protected]",
pass: "***********"
}
});
Here I need to send mail to the valid user but getting the above error.
Upvotes: 0
Views: 2159
Reputation: 415
set your nodemailer config like this.
let nodemailerConfig = {
host:"smtp.gmail.com" ,
port: 465,
secure: true, // true for 465, false for other ports
auth: {
user: process.env.SMTP_USERNAME,
pass: process.env.SMTP_PASSWORD
}
}
Upvotes: 0
Reputation: 182
// 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: "[email protected]",
to: "[email protected]",
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();
});
Upvotes: 0
Reputation: 2661
I think the correct syntax is something like this
var nodemailer = require("nodemailer");
var smtpTransport = nodemailer.createTransport({
service: "Gmail",
auth: {
user: "[email protected]",
pass: "***********"
}
});
Upvotes: 2