Configuration Email / SMTP
FeedbackPulse envoie divers emails transactionnels. Une configuration email correcte est importante pour :
- Les emails de bienvenue aux nouveaux locataires
- Les liens d'invitation d'équipe
- Les emails de réinitialisation de mot de passe
- La vérification OTP par email (pour les formulaires de feedback)
- Les résumés quotidiens/hebdomadaires
- Les rapports planifiés
- Les alertes d'utilisation
- Les notifications de changement de plan
⚙️ Méthodes de configuration
Méthode 1 : Via le panneau d'administration (recommandé)
- Connectez-vous en tant que superadmin
- Allez à Admin → Paramètres → Email
- Remplissez vos informations SMTP
- Cliquez sur Envoyer un email de test pour vérifier
- Enregistrez
Méthode 2 : Via le fichier .env
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="FeedbackPulse"
📮 Configuration par fournisseur
📧 Gmail
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=your_app_password
MAIL_ENCRYPTION=tls
⚠️ Important : Gmail nécessite un mot de passe d'application, pas votre mot de passe habituel.
- Allez à Sécurité du compte Google
- Activez la Validation en deux étapes (obligatoire)
- Allez à Mots de passe des applications → sélectionnez "Mail" → générez
- Utilisez le mot de passe à 16 caractères généré
🔴 Limites Gmail : 500 emails/jour (personnel) ou 2 000/jour (Workspace). Non recommandé pour un SaaS en production.
🔫 Mailgun
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=your_mailgun_smtp_password
MAIL_ENCRYPTION=tls
- Inscrivez-vous sur Mailgun
- Ajoutez votre domaine → vérifiez les enregistrements DNS
- Allez à Sending → Domain Settings → SMTP credentials
- Copiez le mot de passe SMTP
📦 Amazon SES
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=587
MAIL_USERNAME=your_ses_smtp_username
MAIL_PASSWORD=your_ses_smtp_password
MAIL_ENCRYPTION=tls
- Allez à la Console AWS SES
- Vérifiez votre domaine
- Allez à SMTP Settings → Create SMTP Credentials
- Sortez du mode sandbox pour la production
📨 SendGrid
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD=your_sendgrid_api_key
MAIL_ENCRYPTION=tls
💡 Note : Le nom d'utilisateur est littéralement
apikey(pas votre email). Le mot de passe est votre clé API SendGrid.
✉️ Postmark
MAIL_HOST=smtp.postmarkapp.com
MAIL_PORT=587
MAIL_USERNAME=your_postmark_server_api_token
MAIL_PASSWORD=your_postmark_server_api_token
MAIL_ENCRYPTION=tls
🔵 ZOHO Mail
MAIL_HOST=smtp.zoho.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=your_zoho_password
MAIL_ENCRYPTION=tls
🧪 Mailtrap (Test uniquement !)
MAIL_HOST=sandbox.smtp.mailtrap.io
MAIL_PORT=587
MAIL_USERNAME=your_mailtrap_username
MAIL_PASSWORD=your_mailtrap_password
MAIL_ENCRYPTION=tls
⚠️ Mailtrap est uniquement pour le développement/test. Les emails sont capturés dans votre boîte de réception Mailtrap et ne sont jamais livrés aux vrais destinataires.
🧪 Tester l'email
Via le panneau d'administration
- Allez à Admin → Paramètres → Email
- Cliquez sur Envoyer un email de test
- Vérifiez votre boîte de réception
Via la ligne de commande
php artisan tinker
Mail::raw('Test email from FeedbackPulse', function ($message) {
$message->to('[email protected]')->subject('SMTP Test');
});
📨 Emails envoyés par FeedbackPulse
| Quand | Destinataire | |
|---|---|---|
| Bienvenue | Nouvel enregistrement de locataire | Admin du locataire |
| Invitation d'équipe | Admin invite un membre | Email de l'invité |
| Plan modifié | Changement d'abonnement | Admin du locataire |
| Alerte nouvelle soumission | Nouveau feedback reçu | Admin/personnel du locataire |
| Résumé email | Planification quotidienne/hebdomadaire | Admin du locataire |
| Rapport planifié | Quotidien/hebdomadaire/mensuel | Admin du locataire |
| Alerte d'utilisation | 90%+ de la limite du plan | Admin du locataire |
| Réinitialisation de mot de passe | Demande de l'utilisateur | Utilisateur demandeur |
| Vérification email | Nouvel enregistrement | Nouvel utilisateur |
| Code OTP | Formulaire de feedback avec OTP | Utilisateur final soumettant le feedback |
🐛 Dépannage email
| Problème | Solution |
|---|---|
| Les emails ne s'envoient pas | Vérifiez les paramètres SMTP dans .env. Essayez MAIL_MAILER=log pour tester sans SMTP. Vérifiez storage/logs/laravel.log. |
| Les emails vont dans les spams | Ajoutez des enregistrements SPF, DKIM et DMARC au DNS de votre domaine. Utilisez un fournisseur SMTP réputé. |
| "Connection timed out" | Le port 587/465 peut être bloqué par votre hébergeur. Essayez un port ou un fournisseur différent. |
| Erreur Gmail "Moins applications sécurisées" | Utilisez un mot de passe d'application. Voir la section Gmail ci-dessus. |
| Emails retardés | Si vous utilisez QUEUE_CONNECTION=database, assurez-vous que le worker de file d'attente s'exécute. |