Skip to content

Commit db49bb5

Browse files
authored
Merge pull request #25 from Amsterdam/feature/whitelist-sender-emails
Feature/whitelist sender emails
2 parents 3527431 + 595f63a commit db49bb5

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

services/email.js

+8
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const currencyFilter = require('../nunjucks/currency');
77
const limitTo = require('../nunjucks/limitTo');
88
const jsonFilter = require('../nunjucks/json');
99
const timestampFilter = require('../nunjucks/timestamp');
10+
const { isWhitelistedEmail } = require('../utils/emailUtils');
1011

1112

1213
const formatTransporter = function ({ host, port, secure, auth }) {
@@ -73,6 +74,13 @@ exports.send = function ({subject, toName, toEmail, templateString, template, va
7374
fromEmail = fromEmail ? fromEmail : process.env.FROM_EMAIL;
7475
fromName = fromName ? fromName : process.env.FROM_NAME;
7576

77+
/**
78+
* If from e-mail is not a whitelisted email, replace it with a default email
79+
*/
80+
if (!isWhitelistedEmail(fromEmail)) {
81+
fromEmail = 'no-reply@amsterdam.nl';
82+
}
83+
7684
/**
7785
* Format Message object
7886
*/

utils/emailUtils.js

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
const whitelistedEmails = process.env.WHITELISTED_EMAILS
2+
? process.env.WHITELISTED_EMAILS.split('\n').slice(0, -1)
3+
: [];
4+
5+
function isWhitelistedEmail(from) {
6+
return whitelistedEmails.some(whitelistedEmail => from.includes(whitelistedEmail));
7+
}
8+
9+
module.exports = {
10+
isWhitelistedEmail
11+
};

0 commit comments

Comments
 (0)