const nodemailer = require('nodemailer'); const twilio = require('twilio'); const env = require('../config/env'); const mailTransport = env.smtp.host && env.smtp.user ? nodemailer.createTransport({ host: env.smtp.host, port: env.smtp.port, secure: env.smtp.secure, auth: { user: env.smtp.user, pass: env.smtp.pass } }) : null; const twilioClient = env.twilio.sid && env.twilio.token ? twilio(env.twilio.sid, env.twilio.token) : null; async function sendEmail(to, subject, text) { if (!mailTransport) { // Fallback for local development without SMTP configuration. console.log(`[EMAIL][SKIPPED] to=${to} subject=${subject} text=${text}`); return { skipped: true }; } await mailTransport.sendMail({ from: env.smtp.from, to, subject, text }); return { skipped: false }; } async function sendWhatsApp(to, body) { if (!twilioClient || !env.twilio.from || !to) { console.log(`[WHATSAPP][SKIPPED] to=${to} body=${body}`); return { skipped: true }; } await twilioClient.messages.create({ from: env.twilio.from, to, body }); return { skipped: false }; } module.exports = { sendEmail, sendWhatsApp };