From e45a825a3aaaaf0b2cece8bdfd9bfc8b45b10fc6 Mon Sep 17 00:00:00 2001 From: martmull Date: Mon, 22 Jan 2024 16:06:10 +0100 Subject: [PATCH] Update logging for smtp emails (#3536) --- .../src/integrations/email/drivers/smtp.driver.ts | 12 +++++++++++- .../src/integrations/email/email-sender.job.ts | 4 +--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/twenty-server/src/integrations/email/drivers/smtp.driver.ts b/packages/twenty-server/src/integrations/email/drivers/smtp.driver.ts index 4cf1cbf0d..c4dfd77fb 100644 --- a/packages/twenty-server/src/integrations/email/drivers/smtp.driver.ts +++ b/packages/twenty-server/src/integrations/email/drivers/smtp.driver.ts @@ -1,9 +1,12 @@ +import { Logger } from '@nestjs/common'; + import { createTransport, Transporter, SendMailOptions } from 'nodemailer'; import SMTPConnection from 'nodemailer/lib/smtp-connection'; import { EmailDriver } from 'src/integrations/email/drivers/interfaces/email-driver.interface'; export class SmtpDriver implements EmailDriver { + private readonly logger = new Logger(SmtpDriver.name); private transport: Transporter; constructor(options: SMTPConnection.Options) { @@ -11,6 +14,13 @@ export class SmtpDriver implements EmailDriver { } async send(sendMailOptions: SendMailOptions): Promise { - await this.transport.sendMail(sendMailOptions); + this.transport + .sendMail(sendMailOptions) + .then(() => + this.logger.log(`Email to '${sendMailOptions.to}' successfully sent`), + ) + .catch((err) => + this.logger.error(`sending email to '${sendMailOptions.to}': ${err}`), + ); } } diff --git a/packages/twenty-server/src/integrations/email/email-sender.job.ts b/packages/twenty-server/src/integrations/email/email-sender.job.ts index c44b57e55..1162f4ca0 100644 --- a/packages/twenty-server/src/integrations/email/email-sender.job.ts +++ b/packages/twenty-server/src/integrations/email/email-sender.job.ts @@ -1,4 +1,4 @@ -import { Injectable, Logger } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { SendMailOptions } from 'nodemailer'; @@ -8,11 +8,9 @@ import { EmailSenderService } from 'src/integrations/email/email-sender.service' @Injectable() export class EmailSenderJob implements MessageQueueJob { - private readonly logger = new Logger(EmailSenderJob.name); constructor(private readonly emailSenderService: EmailSenderService) {} async handle(data: SendMailOptions): Promise { await this.emailSenderService.send(data); - this.logger.log(`Email to ${data.to} sent`); } }