Aller au contenu principal

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é)

  1. Connectez-vous en tant que superadmin
  2. Allez à Admin → Paramètres → Email
  3. Remplissez vos informations SMTP
  4. Cliquez sur Envoyer un email de test pour vérifier
  5. 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.

  1. Allez à Sécurité du compte Google
  2. Activez la Validation en deux étapes (obligatoire)
  3. Allez à Mots de passe des applications → sélectionnez "Mail" → générez
  4. 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
  1. Inscrivez-vous sur Mailgun
  2. Ajoutez votre domaine → vérifiez les enregistrements DNS
  3. Allez à Sending → Domain Settings → SMTP credentials
  4. 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
  1. Allez à la Console AWS SES
  2. Vérifiez votre domaine
  3. Allez à SMTP Settings → Create SMTP Credentials
  4. 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

  1. Allez à Admin → Paramètres → Email
  2. Cliquez sur Envoyer un email de test
  3. 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

EmailQuandDestinataire
BienvenueNouvel enregistrement de locataireAdmin du locataire
Invitation d'équipeAdmin invite un membreEmail de l'invité
Plan modifiéChangement d'abonnementAdmin du locataire
Alerte nouvelle soumissionNouveau feedback reçuAdmin/personnel du locataire
Résumé emailPlanification quotidienne/hebdomadaireAdmin du locataire
Rapport planifiéQuotidien/hebdomadaire/mensuelAdmin du locataire
Alerte d'utilisation90%+ de la limite du planAdmin du locataire
Réinitialisation de mot de passeDemande de l'utilisateurUtilisateur demandeur
Vérification emailNouvel enregistrementNouvel utilisateur
Code OTPFormulaire de feedback avec OTPUtilisateur final soumettant le feedback

🐛 Dépannage email

ProblèmeSolution
Les emails ne s'envoient pasVé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 spamsAjoutez 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ésSi vous utilisez QUEUE_CONNECTION=database, assurez-vous que le worker de file d'attente s'exécute.

⏭️ Étapes suivantes