- Add SMTP configuration in all .env files - Create sendContactEmail function in email service - Add contact controller with form validation - Create contact API route (POST /api/contact) - Register contact route in main index.js - Emails sent to thetiptopgr3@gmail.com 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
56 lines
1.3 KiB
JavaScript
56 lines
1.3 KiB
JavaScript
/**
|
|
* Contrôleur pour gérer les messages de contact
|
|
*/
|
|
import { sendContactEmail } from '../services/email.service.js';
|
|
|
|
/**
|
|
* POST /api/contact
|
|
* Envoi d'un message depuis le formulaire de contact
|
|
*/
|
|
export const submitContactForm = async (req, res) => {
|
|
try {
|
|
const { fullName, email, subject, message } = req.body;
|
|
|
|
// Validation simple
|
|
if (!fullName || !email || !subject || !message) {
|
|
return res.status(400).json({
|
|
success: false,
|
|
message: 'Tous les champs sont requis'
|
|
});
|
|
}
|
|
|
|
// Validation email
|
|
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
if (!emailRegex.test(email)) {
|
|
return res.status(400).json({
|
|
success: false,
|
|
message: 'Adresse email invalide'
|
|
});
|
|
}
|
|
|
|
// Envoyer l'email
|
|
await sendContactEmail({
|
|
fullName,
|
|
email,
|
|
subject,
|
|
message
|
|
});
|
|
|
|
res.status(200).json({
|
|
success: true,
|
|
message: 'Votre message a été envoyé avec succès. Nous vous répondrons dans les plus brefs délais.'
|
|
});
|
|
|
|
} catch (error) {
|
|
console.error('Erreur lors de l\'envoi du message de contact:', error);
|
|
res.status(500).json({
|
|
success: false,
|
|
message: 'Une erreur est survenue lors de l\'envoi de votre message. Veuillez réessayer.'
|
|
});
|
|
}
|
|
};
|
|
|
|
export default {
|
|
submitContactForm
|
|
};
|