mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 11:05:54 +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 }; | 	params = { ...Emailer._defaultPayload, ...params }; | ||||||
|  |  | ||||||
| 	const [userData, userSettings] = await Promise.all([ | 	const [userData, userSettings] = await Promise.all([ | ||||||
| 		User.getUserFields(uid, ['email', 'username']), | 		User.getUserFields(uid, ['email', 'username', 'email:confirmed']), | ||||||
| 		User.getSettings(uid), | 		User.getSettings(uid), | ||||||
| 	]); | 	]); | ||||||
|  |  | ||||||
| @@ -182,6 +182,13 @@ Emailer.send = async function (template, uid, params) { | |||||||
| 		winston.warn('uid : ' + uid + ' has no email, not sending.'); | 		winston.warn('uid : ' + uid + ' has no email, not sending.'); | ||||||
| 		return; | 		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.uid = uid; | ||||||
| 	params.username = userData.username; | 	params.username = userData.username; | ||||||
| 	params.rtl = await translator.translate('[[language:dir]]', userSettings.userLang) === 'rtl'; | 	params.rtl = await translator.translate('[[language:dir]]', userSettings.userLang) === 'rtl'; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user