const nodemailer = require('nodemailer'); const transporter = nodemailer.createTransport({ host: process.env.SMTP_HOST || 'mail.infomaniak.com', port: parseInt(process.env.SMTP_PORT, 10) || 465, secure: parseInt(process.env.SMTP_PORT, 10) === 465 || true, auth: { user: process.env.SMTP_USER, pass: process.env.SMTP_PASS, }, }); async function sendInvitationEmail(guest, inviter, token, baseUrl) { const link = `${baseUrl}/invitation/${token}`; const dateStr = guest.date_club ? new Date(guest.date_club).toLocaleDateString('fr-FR', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }) : 'à venir'; const html = `

Dyna Biz Coignieres

Bonjour ${guest.prenom} ${guest.nom},

${inviter.prenom} ${inviter.nom} de Dyna Biz Coignieres vous invite à participer à notre prochain événement réseau.

${guest.date_club ? `

Date : ${dateStr}

` : ''}

Horaires : 10h45 - 13h00

Lieu : 7 Av. Roger Hennequin, 78190 Trappes

Merci de nous confirmer votre présence en cliquant sur l'un des boutons ci-dessous :

J'accepte Je refuse

Ou rendez-vous sur :
${link}

`; try { await transporter.sendMail({ from: `"Dyna Biz Coignieres" <${process.env.EMAIL_FROM}>`, to: guest.email, subject: `Invitation - Dyna Biz Coignieres ${guest.date_club ? new Date(guest.date_club).toLocaleDateString('fr-FR') : ''}`, html, }); return true; } catch (err) { console.error('Email send error:', err); throw err; } } module.exports = { transporter, sendInvitationEmail };