import express from "express"; import nodemailer from "nodemailer"; import { sendResponse } from "../../../libs/format"; import { mailMethod, smtpConfig, mailTo, siteName } from "../../../config"; import ErrorEvent from "../../../libs/error"; // eslint-disable-next-line new-cap const router = express.Router(); router.route("/").post(async (req, res, next) => { try { if (mailMethod === "smtp") { const { email, name, message } = req.body; if (!email || !message) { throw new ErrorEvent( 406, "Le formulaire n'est pas correctement saisi" ); } const transporter = nodemailer.createTransport(smtpConfig); const text = `Bonjour, Vous venez de recevoir un nouveau message de ${name} (${email}) : ${message} `; const data = await transporter.sendMail({ from: smtpConfig.auth.user, to: mailTo, subject: `${siteName} : Nouveau message`, text, }); const { messageId, response } = data; return sendResponse(req, res, { messageId, response }); } throw new ErrorEvent(500, "Méthode non configurée"); } catch (err) { return next(err); } }); export default router;