mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-09 07:25:46 +01:00
feat: #8602, dont send emails to unconfirmed addresses
This commit is contained in:
@@ -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';
|
||||
|
||||
Reference in New Issue
Block a user