Spaces:
Runtime error
Runtime error
| import nodemailer from 'nodemailer'; | |
| import { SMTP_CONFIG } from '../config/app.config'; | |
| import { logger } from './logger'; | |
| interface MailOptions { | |
| from?: string; | |
| to?: string; | |
| subject: string; | |
| content: string; | |
| } | |
| export const sendMail = async ({ from, to, subject, content }: MailOptions) => { | |
| const transporter = nodemailer.createTransport({ | |
| host: SMTP_CONFIG.HOST, | |
| port: parseInt(SMTP_CONFIG.PORT, 587), | |
| secure: SMTP_CONFIG.SECURE === 'true' ? true : false, | |
| auth: { | |
| user: SMTP_CONFIG.USERNAME, | |
| pass: SMTP_CONFIG.PASSWORD, | |
| }, | |
| tls: { | |
| rejectUnauthorized: false, | |
| }, | |
| }); | |
| try { | |
| const info = await transporter.sendMail({ | |
| from: from || SMTP_CONFIG.SENDER, | |
| to: to, | |
| subject, | |
| html: content, | |
| }); | |
| logger.info('Message sent: %s', info.messageId); | |
| } catch (error) { | |
| logger.error('Error occurred while sending email'); | |
| logger.error(error); | |
| } | |
| } | |