import nodemailer from 'nodemailer'; import { EmailInterface } from '@gitroom/nestjs-libraries/emails/email.interface'; const transporter = nodemailer.createTransport({ host: process.env.EMAIL_HOST, port: +process.env.EMAIL_PORT!, secure: process.env.EMAIL_SECURE === 'true', auth: { user: process.env.EMAIL_USER, pass: process.env.EMAIL_PASS, }, }); export class NodeMailerProvider implements EmailInterface { name = 'nodemailer'; validateEnvKeys = [ 'EMAIL_HOST', 'EMAIL_PORT', 'EMAIL_SECURE', 'EMAIL_USER', 'EMAIL_PASS', ]; async sendEmail( to: string, subject: string, html: string, emailFromName: string, emailFromAddress: string ) { const sends = await transporter.sendMail({ from:`${emailFromName} <${emailFromAddress}>`, // sender address to: to, // list of receivers subject: subject, // Subject line text: html, // plain text body html: html, // html body }); return sends; } }