change to smtp mailer

This commit is contained in:
Ammar Qaffaf
2024-02-27 04:26:03 +03:00
parent 1bfcbf0904
commit 563278170c
4 changed files with 19 additions and 17 deletions

View File

@ -27,6 +27,6 @@ async function bootstrap() {
app.useGlobalPipes(new ValidationPipe());
await app.listen(6001);
await app.listen(7001);
}
bootstrap();

View File

@ -21,6 +21,6 @@ async function bootstrap() {
}),
);
app.useGlobalPipes(new ValidationPipe());
await app.listen(6000);
await app.listen(7000);
}
bootstrap();

View File

@ -3,7 +3,10 @@ import { registerAs } from '@nestjs/config';
export default registerAs(
'email-config',
(): Record<string, any> => ({
EMAIL_ID: process.env.EMAIL_USER,
PASSWORD: process.env.EMAIL_PASSWORD,
SMTP_HOST: process.env.SMTP_HOST,
SMTP_PORT: parseInt(process.env.SMTP_PORT),
SMTP_SECURE: process.env.SMTP_SECURE === 'true',
SMTP_USER: process.env.SMTP_USER,
SMTP_PASSWORD: process.env.SMTP_PASSWORD,
}),
);

View File

@ -4,12 +4,18 @@ import * as nodemailer from 'nodemailer';
@Injectable()
export class EmailService {
private user: string;
private pass: string;
private smtpConfig: any;
constructor(private readonly configService: ConfigService) {
this.user = this.configService.get<string>('email-config.EMAIL_ID');
this.pass = this.configService.get<string>('email-config.PASSWORD');
this.smtpConfig = {
host: this.configService.get<string>('email-config.SMTP_HOST'),
port: this.configService.get<number>('email-config.SMTP_PORT'),
secure: this.configService.get<boolean>('email-config.SMTP_SECURE'), // true for 465, false for other ports
auth: {
user: this.configService.get<string>('email-config.SMTP_USER'),
pass: this.configService.get<string>('email-config.SMTP_PASSWORD'),
},
};
}
async sendOTPEmail(
@ -17,17 +23,10 @@ export class EmailService {
subject: string,
message: string,
): Promise<void> {
const transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: this.user,
pass: this.pass,
},
});
const transporter = nodemailer.createTransport(this.smtpConfig);
const mailOptions = {
from: this.user,
from: this.smtpConfig.auth.user,
to: email,
subject,
text: message,