39 lines
968 B
TypeScript
39 lines
968 B
TypeScript
import nodemailer from 'nodemailer';
|
|
|
|
console.log('SMTP Config:', {
|
|
host: process.env.SMTP_HOST,
|
|
port: process.env.SMTP_PORT,
|
|
secure: process.env.SMTP_SECURE,
|
|
user: process.env.SMTP_USER
|
|
});
|
|
const transporter = nodemailer.createTransport({
|
|
host: process.env.SMTP_HOST,
|
|
port: parseInt(process.env.SMTP_PORT || '587'),
|
|
secure: process.env.SMTP_SECURE === 'true',
|
|
auth: {
|
|
user: process.env.SMTP_USER,
|
|
pass: process.env.SMTP_PASS,
|
|
},
|
|
tls: {
|
|
rejectUnauthorized: false
|
|
}
|
|
});
|
|
|
|
export const sendEmail = async ({ to, subject, html }: { to: string; subject: string; html: string }) => {
|
|
const mailOptions = {
|
|
from: process.env.SMTP_FROM || '"Afrohub" <noreply@afrohub.com>',
|
|
to,
|
|
subject,
|
|
html,
|
|
};
|
|
|
|
try {
|
|
const info = await transporter.sendMail(mailOptions);
|
|
console.log('Email sent: ' + info.response);
|
|
return info;
|
|
} catch (error) {
|
|
console.error('Error sending email:', error);
|
|
throw error;
|
|
}
|
|
};
|