diff --git a/contact-backend.js b/contact-backend.js deleted file mode 100644 index d061da0..0000000 --- a/contact-backend.js +++ /dev/null @@ -1,60 +0,0 @@ -// Backend minimal Node.js pour traiter le formulaire de contact Hugo -// Place ce fichier à la racine du projet ou dans un dossier backend/ -// Nécessite: npm install express nodemailer cors - - -require('dotenv').config(); -const express = require('express'); -const nodemailer = require('nodemailer'); -const cors = require('cors'); -const multer = require('multer'); -const upload = multer(); -const app = express(); -const PORT = process.env.PORT || 3001; - -// Middleware -app.use(cors()); -// NE PAS utiliser express.urlencoded/json pour /contact, sinon req.body sera vide avec FormData - -// Configurer le transporteur SMTP depuis .env -const transporter = nodemailer.createTransport({ - host: process.env.SMTP_HOST, - port: parseInt(process.env.SMTP_PORT, 10), - secure: process.env.SMTP_SECURE === 'true', - auth: { - user: process.env.SMTP_USER, - pass: process.env.SMTP_PASS - } -}); - -app.post('/contact', upload.none(), async (req, res) => { - // Vérification de la présence de req.body - if (!req.body) { - console.log(req.body); - return res.status(400).send('Aucune donnée reçue.'); - } - // Anti-robot honeypot - if (req.body.website && req.body.website.trim() !== '') { - return res.status(400).send('Bot détecté.'); - } - const { email, subject, message } = req.body; - if (!email || !subject || !message) { - return res.status(400).send('Champs manquants'); - } - try { - await transporter.sendMail({ - from: process.env.SMTP_USER, - to: process.env.SMTP_USER, - replyTo: email, - subject: `Contact site: ${subject}`, - text: `Email: ${email}\nSujet: ${subject}\nMessage:\n${message}` - }); - res.status(200).send('Message envoyé !'); - } catch (err) { - res.status(500).send("Erreur d'envoi: " + err.message); - } -}); - -app.listen(PORT, () => { - console.log(`Serveur contact en écoute sur http://localhost:${PORT}`); -});