File size: 1,004 Bytes
a271c58 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 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;
}
}
|