From 00ddd4175811528225dde81e209dd9ced2367229 Mon Sep 17 00:00:00 2001 From: gitadmin Date: Mon, 28 Apr 2025 15:52:56 +0000 Subject: [PATCH] Update Utils/sendEmail.js --- Utils/sendEmail.js | 44 +++++++++++++++++++------------------------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/Utils/sendEmail.js b/Utils/sendEmail.js index 39f6a8e..0ef635c 100644 --- a/Utils/sendEmail.js +++ b/Utils/sendEmail.js @@ -19,45 +19,39 @@ // }); // }; // export default sendEmail; - import { createTransport } from "nodemailer"; -// 1. Fix environment variable names (SMTP not SMPT) const transporter = createTransport({ - host: process.env.SMTP_HOST, // Corrected from SMPT_HOST - port: process.env.SMTP_PORT, // Corrected from SMPT_PORT + host: process.env.SMTP_HOST || "smtp-relay.brevo.com", // Fixed typo SMPT->SMTP + port: process.env.SMTP_PORT || 587, // Fixed typo secure: false, // Required for Brevo's STARTTLS auth: { user: process.env.SMTP_MAIL || "78ab42003@smtp-brevo.com", - pass: process.env.SMTP_PASSWORD || "saTOdNcySftx2PXG" + pass: process.env.SMTP_PASSWORD || "saTOdNcySftx2PXG" }, tls: { - ciphers: 'SSLv3', // Match Python's encryption - rejectUnauthorized: true // Enable for production security - }, - logger: true // Enable connection logging + ciphers: 'SSLv3' + } }); -// 2. Proper async/await with error propagation -const sendEmail = async (options) => { - try { - // Add default from address - const mailOptions = { - from: `Cheminova <${process.env.SEND_EMAIL_FROM || "cheminova2004@gmail.com"}>`, - ...options - }; - const info = await transporter.sendMail(mailOptions); - console.log('Email sent to %s', mailOptions.to); - return info; - } catch (error) { - console.error('Email send failed:', error); - throw new Error(`EMAIL_FAILED: ${error.message}`); // Propagate specific error - } +const sendEmail = async (options) => { + return new Promise((resolve, reject) => { + transporter.sendMail({ + ...options, + from: options.from || `Cheminova <${process.env.SEND_EMAIL_FROM || "cheminova2004@gmail.com"}>` + }, (error, info) => { + if (error) { + console.log('Email send error:', error); + reject(error); + } else { + resolve(info); + } + }); + }); }; export default sendEmail; - // import sgMail from '@sendgrid/mail'; // sgMail.setApiKey(process.env.SENDGRID_API_KEY) // // console.log(process.env.SENDGRID_API_KEY)