feat: #8602, dont send emails to unconfirmed addresses

v1.18.x
Barış Soner Uşaklı 5 years ago
parent 69373fded7
commit b6917b9dee

@ -174,7 +174,7 @@ Emailer.send = async function (template, uid, params) {
params = { ...Emailer._defaultPayload, ...params };
const [userData, userSettings] = await Promise.all([
User.getUserFields(uid, ['email', 'username']),
User.getUserFields(uid, ['email', 'username', 'email:confirmed']),
User.getSettings(uid),
]);
@ -182,6 +182,13 @@ Emailer.send = async function (template, uid, params) {
winston.warn('uid : ' + uid + ' has no email, not sending.');
return;
}
const allowedTpls = ['verify_email', 'welcome', 'registration_accepted'];
if (meta.config.requireEmailConfirmation && !userData['email:confirmed'] && !allowedTpls.includes(template)) {
winston.warn('uid : ' + uid + ' has not confirmed email, not sending "' + template + '" email.');
return;
}
params.uid = uid;
params.username = userData.username;
params.rtl = await translator.translate('[[language:dir]]', userSettings.userLang) === 'rtl';

Loading…
Cancel
Save