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

Commit f44501c

Browse files
authored
Merge pull request #103 from SpringRoll/feature/smtp
Feature/smtp
2 parents 8bb9e9a + 3129035 commit f44501c

File tree

3 files changed

+31
-16
lines changed

3 files changed

+31
-16
lines changed

app/helpers/sendmail.js

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

3-
module.exports = function(mailOptions, callback)
4-
{
5-
var 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);
13-
};
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);
28+
};

app/routes/forgot.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ router.post('/', function(req, res, next)
3434
{
3535
var mailOptions = {
3636
to: user.email,
37-
from: 'passwordreset@demo.com',
37+
from: process.env.SMTP_FROM_USER || 'passwordreset@demo.com',
3838
subject: 'Node.js Password Reset',
3939
text: 'You are receiving this because you (or someone else) have requested the reset of the password for your account.\n\n' +
4040
'Please click on the following link, or paste this into your browser to complete the process:\n\n' +
@@ -64,4 +64,4 @@ router.get('/', function(req, res)
6464
});
6565
});
6666

67-
module.exports = router;
67+
module.exports = router;

app/routes/reset.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ router.post('/:token', function(req, res)
5555
{
5656
var mailOptions = {
5757
to: user.email,
58-
from: 'passwordreset@demo.com',
58+
from: process.env.SMTP_FROM_USER || 'passwordreset@demo.com',
5959
subject: 'Your password has been changed',
6060
text: 'Hello,\n\n' +
6161
'This is a confirmation that the password for your account ' + user.email + ' has just been changed.\n'
@@ -73,4 +73,4 @@ router.post('/:token', function(req, res)
7373
});
7474
});
7575

76-
module.exports = router;
76+
module.exports = router;

0 commit comments

Comments
 (0)