module.exports = function(from, to, subject, body, cb)
{
- // Avoid the actual sending in development mode
- if (params.env === 'development')
- {
- console.log("New mail: from " + from + " / to " + to);
- console.log("Subject: " + subject);
- let msgText = body.split('\\n');
- msgText.forEach(msg => { console.log(msg); });
- return cb();
- }
+ // Avoid the actual sending in development mode
+ if (params.env === 'development')
+ {
+ console.log("New mail: from " + from + " / to " + to);
+ console.log("Subject: " + subject);
+ console.log(body);
+ if (!cb)
+ cb = (err) => { if (!!err) console.log(err); }
+ return cb();
+ }
+ else if (!cb)
+ cb = () => {}; //default: do nothing (TODO: log somewhere)
// Create reusable transporter object using the default SMTP transport
- const transporter = nodemailer.createTransport({
- host: params.mail.host,
- port: params.mail.port,
- secure: params.mail.secure,
- auth: {
- user: params.mail.user,
- pass: params.mail.pass
- }
- });
+ const transporter = nodemailer.createTransport({
+ host: params.mail.host,
+ port: params.mail.port,
+ secure: params.mail.secure,
+ auth: {
+ user: params.mail.user,
+ pass: params.mail.pass
+ }
+ });
- // Setup email data with unicode symbols
- const mailOptions = {
- from: from, //note: some SMTP serves might forbid this
- to: to,
- subject: subject,
- text: body,
+ // Setup email data with unicode symbols
+ const mailOptions = {
+ from: params.mail.noreply,
+ to: to,
+ subject: subject,
+ text: body,
+ replyTo: from,
};
- // Send mail with the defined transport object
- transporter.sendMail(mailOptions, (error, info) => {
- if (!!error)
- return cb(error);
+ // Send mail with the defined transport object
+ transporter.sendMail(mailOptions, (error, info) => {
+ if (!!error)
+ return cb(error);
// Ignore info. Option:
- //console.log('Message sent: %s', info.messageId);
- return cb();
+ //console.log('Message sent: %s', info.messageId);
+ return cb();
});
}