the-tip-top-backend/src/controllers/contact.controller.js
soufiane 6d7c536a7e feat: add contact form email functionality
- 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>
2025-11-24 11:38:08 +01:00

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
};