Files
amble_api/controllers/emailer.js
2025-07-15 15:54:43 +05:30

90 lines
3.1 KiB
JavaScript

var nodemailer = require('nodemailer');
var mailhbs = require('nodemailer-express-handlebars');
var keys = require('../keysfile');
var mailoptions = {
viewEngine: {
extname: '.hbs',
layoutsDir: 'views/email/',
defaultLayout : 'template',
partialsDir : 'views/partials/',
helpers:{
inc: function(value){return parseInt(value) + 1;}
},
},
viewPath: 'views/email/',
extName: '.hbs'
};
const transporter = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 587,
auth: {
user: keys.emailer.user,
pass: keys.emailer.pass,
}
});
transporter.use('compile',mailhbs(mailoptions));
module.exports = {
sendEmail: function(data) {
var maillist = [
data.cmail,
data.deemail,
];
transporter.sendMail({
from: 'Support <support@ensoimmersive.com>',
to: maillist,
subject: 'Nerolac - Colour My Space Experience',
template: 'template',
context: {
CNAME : data.cname,
CEMAIL: data.cmail,
CNUM: data.cnum,
SELECTED: data.selected,
VENAME: data.vname,
VEMAIL: data.vemail,
VENUM: data.vnum,
HASONESILVER: data.hasOneBhkSilver,
HASONEGOLD: data.hasOneBhkGold,
HASTWOGOLD: data.hasTwobhkGold,
HASEXTERIOR: data.hasExterior,
ONESILVERARR: data.oneBhkSilver,
ONEGOLDARR: data.oneBhkGold,
TWOGOLDARR: data.twoBhkGold,
EXTERIORARR: data.exterior,
SILVERLIVING: data.silverLiving,
SILVERBED : data.silverBed ,
SILVERPOOJA : data.silverPooja ,
GOLDLIVING : data.goldLiving ,
GOLDBED : data.goldBed ,
GOLDBED2 : data.goldBed2 ,
GOLDDINING : data.goldDining ,
NORTH : data.north ,
SOUTH : data.south ,
POOL : data.pool ,
HASSILVERLIVING: data.hasSilverliving,
HASSILVERBED : data.hasSilverbed ,
HASSILVERPOOJA : data.hasSilverpooja ,
HASGOLDLIVING : data.hasGoldliving ,
HASGOLDBED : data.hasGoldbed ,
HASGOLDBED2 : data.hasGoldbed2 ,
HASGOLDDINING : data.hasGolddining ,
HASNORTH : data.hasNorth ,
HASSOUTH : data.hasSouth ,
HASPOOL : data.hasPool ,
//THREESIXTY: data.threesixty,
//HASTHREESIXTY: data.hasthreesixty,
}
}, function (error, response) {
if(error){
console.log(error);
}
else{
console.log("email send success");
}
transporter.close();
});
}
}