Skip to content
This repository was archived by the owner on Apr 13, 2023. It is now read-only.

Commit 7e1d1f5

Browse files
committed
More flexible email sending
Will attempt to use SMTP if possible, but will fallback to gmail if needed
1 parent 232f2fc commit 7e1d1f5

File tree

1 file changed

+25
-10
lines changed

1 file changed

+25
-10
lines changed

app/helpers/sendmail.js

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,28 @@
11
const nodemailer = require('nodemailer');
22

3-
module.exports = function(mailOptions, callback)
4-
{
5-
const transporter = nodemailer.createTransport({
6-
service: 'Gmail',
7-
auth: {
8-
user: process.env.GMAIL_USER,
9-
pass: process.env.GMAIL_PASSWORD
10-
}
11-
});
12-
transporter.sendMail(mailOptions, callback);
3+
module.exports = function(mailOptions, callback) {
4+
let transportConfig;
5+
6+
const canSendSmtp = process.env.SMTP_USER !== undefined && process.env.SMTP_PASSWORD !== undefined && process.env.SMTP_HOST !== undefined;
7+
if (canSendSmtp) {
8+
transportConfig = {
9+
host: process.env.SMTP_HOST,
10+
secure: true,
11+
auth: {
12+
user: process.env.SMTP_USER,
13+
pass: process.env.SMTP_PASSWORD
14+
}
15+
};
16+
} else {
17+
transportConfig = {
18+
service: 'Gmail',
19+
auth: {
20+
user: process.env.GMAIL_USER,
21+
pass: process.env.GMAIL_PASSWORD
22+
}
23+
};
24+
}
25+
26+
const transporter = nodemailer.createTransport(transportConfig);
27+
transporter.sendMail(mailOptions, callback);
1328
};

0 commit comments

Comments
 (0)