Revert "refactor: emailer.send and emailer.sendToEmail returns Boolean based on message being successfully sent"

This reverts commit f0e32ff182.
isekai-main
Julian Lam 3 years ago
parent 165a1d8b76
commit e25c0313d1

@ -238,7 +238,7 @@ Emailer.send = async (template, uid, params) => {
if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV === 'development') {
winston.warn(`uid : ${uid} has no email, not sending "${template}" email.`); winston.warn(`uid : ${uid} has no email, not sending "${template}" email.`);
} }
return false; return;
} }
const allowedTpls = ['verify-email', 'welcome', 'registration_accepted', 'reset', 'reset_notify']; const allowedTpls = ['verify-email', 'welcome', 'registration_accepted', 'reset', 'reset_notify'];
@ -246,7 +246,7 @@ Emailer.send = async (template, uid, params) => {
if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV === 'development') {
winston.warn(`uid : ${uid} (${userData.email}) has not confirmed email, not sending "${template}" email.`); winston.warn(`uid : ${uid} (${userData.email}) has not confirmed email, not sending "${template}" email.`);
} }
return false; return;
} }
const userSettings = await User.getSettings(uid); const userSettings = await User.getSettings(uid);
// Combined passed-in payload with default values // Combined passed-in payload with default values
@ -262,10 +262,9 @@ Emailer.send = async (template, uid, params) => {
}); });
if (result.cancel) { if (result.cancel) {
return false; return;
} }
await Emailer.sendToEmail(template, userData.email, userSettings.userLang, params);
return Emailer.sendToEmail(template, userData.email, userSettings.userLang, params);
}; };
Emailer.sendToEmail = async (template, email, language, params) => { Emailer.sendToEmail = async (template, email, language, params) => {
@ -340,17 +339,13 @@ Emailer.sendToEmail = async (template, email, language, params) => {
} else { } else {
await Emailer.sendViaFallback(data); await Emailer.sendViaFallback(data);
} }
return true;
} catch (err) { } catch (err) {
if (err.code === 'ENOENT' && usingFallback) { if (err.code === 'ENOENT' && usingFallback) {
Emailer.fallbackNotFound = true; Emailer.fallbackNotFound = true;
winston.error(`[emailer/sendToEmail] ${await translator.translate('[[error:sendmail-not-found]]')}`); throw new Error('[[error:sendmail-not-found]]');
} else { } else {
winston.error(`[emailer/sendToEmail] ${err.message || err.code || 'Unknown error while sending email.'}`); throw err;
} }
return false;
} }
}; };
@ -365,7 +360,6 @@ Emailer.sendViaFallback = async (data) => {
winston.verbose(`[emailer] Sending email to uid ${data.uid} (${data.to})`); winston.verbose(`[emailer] Sending email to uid ${data.uid} (${data.to})`);
await Emailer.fallbackTransport.sendMail(data); await Emailer.fallbackTransport.sendMail(data);
return true;
}; };
Emailer.renderAndTranslate = async (template, params, lang) => { Emailer.renderAndTranslate = async (template, params, lang) => {

@ -47,7 +47,7 @@ describe('emailer', () => {
// TODO: test sendmail here at some point // TODO: test sendmail here at some point
it('plugin hook should work', async () => { it('plugin hook should work', (done) => {
const error = new Error(); const error = new Error();
Plugins.hooks.register('emailer-test', { Plugins.hooks.register('emailer-test', {
@ -61,10 +61,12 @@ describe('emailer', () => {
}, },
}); });
const success = await Emailer.sendToEmail(template, email, language, params); Emailer.sendToEmail(template, email, language, params, (err) => {
assert.strictEqual(success, false); assert.equal(err, error);
Plugins.hooks.unregister('emailer-test', 'filter:email.send'); Plugins.hooks.unregister('emailer-test', 'filter:email.send');
done();
});
}); });
it('should build custom template on config change', (done) => { it('should build custom template on config change', (done) => {

Loading…
Cancel
Save