Spaces:
Runtime error
Runtime error
abhishek-akbari01
commited on
Commit
·
69fc649
1
Parent(s):
244f1d0
mailer function implement
Browse files- 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 |
+
}
|