mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-09 15:35:47 +01:00
Revert "refactor: emailer.send and emailer.sendToEmail returns Boolean based on message being successfully sent"
This reverts commit f0e32ff182.
This commit is contained in:
@@ -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) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user