diff --git a/backend/src/init/email-client.ts b/backend/src/init/email-client.ts index 2aa1cfcf6..36c57fffe 100644 --- a/backend/src/init/email-client.ts +++ b/backend/src/init/email-client.ts @@ -102,7 +102,16 @@ export async function sendEmail( html: template, }; - const result = await transporter.sendMail(mailOptions); + let result; + try { + result = await transporter.sendMail(mailOptions); + } catch (e) { + recordEmail(templateName, "fail"); + return { + success: false, + message: e.message, + }; + } recordEmail(templateName, result.accepted.length === 0 ? "fail" : "success"); diff --git a/backend/src/workers/email-worker.ts b/backend/src/workers/email-worker.ts index 2d6e8f111..5c3695405 100644 --- a/backend/src/workers/email-worker.ts +++ b/backend/src/workers/email-worker.ts @@ -21,6 +21,12 @@ async function jobHandler(job: Job): Promise { const result = await sendEmail(type, email, ctx); if (!result.success) { + Logger.logToDb("error_sending_email", { + type, + email, + ctx: JSON.stringify(ctx), + error: result.message, + }); throw new Error(result.message); }