import nodemailer from "nodemailer"; const transport = nodemailer.createTransport({ host: process.env.SMTP_HOST ?? "mailpit", port: Number(process.env.SMTP_PORT ?? 1025), secure: process.env.SMTP_SECURE === "true", ...(process.env.SMTP_USER ? { auth: { user: process.env.SMTP_USER, pass: process.env.SMTP_PASS } } : {}), }); const FROM = process.env.SMTP_FROM ?? "Star Wars Wild Space "; const APP_URL = (process.env.APP_URL ?? "http://localhost:8080").replace(/\/$/, ""); export async function sendConfirmationEmail(to, token) { const url = `${APP_URL}/?email_confirm=${encodeURIComponent(token)}`; await transport.sendMail({ from: FROM, to, subject: "Confirmez votre adresse email — Star Wars Wild Space", text: `Cliquez sur le lien ci-dessous pour confirmer votre compte :\n\n${url}\n\nCe lien expire dans 24 heures.`, html: `

Star Wars — Wild Space

Cliquez sur le lien ci-dessous pour confirmer votre adresse email :

${url}

Ce lien expire dans 24 heures.

`, }); } export async function sendPasswordResetEmail(to, token) { const url = `${APP_URL}/?reset=${encodeURIComponent(token)}`; await transport.sendMail({ from: FROM, to, subject: "Réinitialisation de mot de passe — Star Wars Wild Space", text: `Cliquez sur le lien ci-dessous pour réinitialiser votre mot de passe :\n\n${url}\n\nCe lien expire dans 1 heure. Si vous n'avez pas fait cette demande, ignorez cet email.`, html: `

Star Wars — Wild Space

Cliquez sur le lien ci-dessous pour réinitialiser votre mot de passe :

${url}

Ce lien expire dans 1 heure. Si vous n'avez pas fait cette demande, vous pouvez ignorer cet email.

`, }); }