diff --git a/backend/src/auth/strategy/magiclogin.strategy.ts b/backend/src/auth/strategy/magiclogin.strategy.ts index 2fb81fec..e624e375 100644 --- a/backend/src/auth/strategy/magiclogin.strategy.ts +++ b/backend/src/auth/strategy/magiclogin.strategy.ts @@ -25,7 +25,7 @@ export class MagicLoginStrategy extends PassportStrategy( callbackUrl: configService.getOrThrow('FE_LOGIN_CALLBACK_URL'), sendMagicLink: async (destination: string, href: string) => { const emailDto: EmailDto = EmailMapper.loginEmail(destination, href); - this.authFacade.sendEmail(emailDto); + await this.authFacade.sendEmail(emailDto); this.logger.log(`sending email to ${destination}, with link ${href}`); }, verify: async (payload, callback) => diff --git a/backend/src/auth/strategy/magicregister.strategy.ts b/backend/src/auth/strategy/magicregister.strategy.ts index be15442d..52b469d2 100644 --- a/backend/src/auth/strategy/magicregister.strategy.ts +++ b/backend/src/auth/strategy/magicregister.strategy.ts @@ -29,7 +29,7 @@ export class MagicRegisterStrategy extends PassportStrategy( destination, href, ); - this.authFacade.sendEmail(emailDto); + await this.authFacade.sendEmail(emailDto); this.logger.log(`sending email to ${destination}, with link ${href}`); }, verify: async (payload, callback) => diff --git a/backend/src/email/service/email.service.ts b/backend/src/email/service/email.service.ts index 69decb6a..26b51582 100644 --- a/backend/src/email/service/email.service.ts +++ b/backend/src/email/service/email.service.ts @@ -1,11 +1,23 @@ import { MailerService } from '@nestjs-modules/mailer'; -import { Injectable } from '@nestjs/common'; +import { + Injectable, + InternalServerErrorException, + Logger, +} from '@nestjs/common'; import { EmailDto } from '../dto/email.dto'; @Injectable() export class EmailService { + private logger = new Logger(EmailService.name); constructor(private readonly mailerService: MailerService) {} async sendEmail(emailDto: EmailDto): Promise { - await this.mailerService.sendMail(emailDto); + try { + await this.mailerService.sendMail(emailDto); + } catch (e) { + this.logger.error(`There has been an error when sending email: ${e}`); + throw new InternalServerErrorException( + `There has been an error when sending email: ${e}`, + ); + } } }