abhishek-akbari01 commited on
Commit
69fc649
·
1 Parent(s): 244f1d0

mailer function implement

Browse files
Files changed (1) hide show
  1. src/utils/mailer.ts +36 -0
src/utils/mailer.ts ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import nodemailer from 'nodemailer';
2
+
3
+ import { SMTP_CONFIG } from '../config/app.config';
4
+ import { logger } from './logger';
5
+
6
+ interface MailOptions {
7
+ from?: string;
8
+ to?: string;
9
+ subject: string;
10
+ content: string;
11
+ }
12
+
13
+ export const sendMail = async ({ from, to, subject, content }: MailOptions) => {
14
+ const transporter = nodemailer.createTransport({
15
+ host: SMTP_CONFIG.HOST,
16
+ port: parseInt(SMTP_CONFIG.PORT, 10),
17
+ secure: SMTP_CONFIG.SECURE === 'true',
18
+ auth: {
19
+ user: SMTP_CONFIG.USERNAME,
20
+ pass: SMTP_CONFIG.PASSWORD,
21
+ },
22
+ });
23
+
24
+ try {
25
+ const info = await transporter.sendMail({
26
+ from: from || SMTP_CONFIG.SENDER,
27
+ to: to,
28
+ subject,
29
+ html: content,
30
+ });
31
+
32
+ logger.info('Message sent: %s', info.messageId);
33
+ } catch (error) {
34
+ logger.error('Error occurred while sending email', error);
35
+ }
36
+ }