Aller au contenu principal

E-mails Non Envoyés

Dépannage étape par étape pour les problèmes de livraison d'e-mails.


Étape 1 : Vérifier les bases

# Vérifier les paramètres SMTP dans .env
grep MAIL_ .env

Vérifiez :

  • MAIL_MAILER=smtp (pas log ou null)
  • MAIL_HOST est correct
  • MAIL_PORT est correct (587 pour TLS, 465 pour SSL)
  • MAIL_USERNAME et MAIL_PASSWORD sont renseignés
  • MAIL_ENCRYPTION=tls (ou ssl)

Étape 2 : Tester via le panneau d'administration

  1. Allez dans Admin > Paramètres > E-mail
  2. Cliquez sur Envoyer un e-mail de test
  3. Consultez le message d'erreur en cas d'échec

Étape 3 : Tester via la ligne de commande

php artisan tinker
Mail::raw('Test', function ($m) {
$m->to('[email protected]')->subject('Test');
});

Consultez storage/logs/laravel.log pour les erreurs.


Problèmes courants

ProblèmeSolution
"Connection timed out"Le port 587/465 est bloqué par l'hébergeur. Essayez le port 2525 ou contactez votre hébergeur.
"Authentication failed"Nom d'utilisateur/mot de passe incorrect. Pour Gmail, utilisez un mot de passe d'application.
"Certificate verify failed"PHP obsolète. Essayez 'verify_peer' => false dans les options du mailer config/mail.php.
E-mails dans le dossier spamAjoutez des enregistrements DNS SPF, DKIM et DMARC.
E-mails retardésUtilisez-vous QUEUE_CONNECTION=database ? Assurez-vous que le worker de file d'attente fonctionne.
Aucune erreur mais aucun e-mailUtilisez-vous MAIL_MAILER=log ? Les e-mails sont journalisés, pas envoyés. Consultez storage/logs/laravel.log.

Utiliser MAIL_MAILER=log pour le débogage

Définissez MAIL_MAILER=log dans .env pour capturer tous les e-mails dans le fichier journal au lieu de les envoyer. Utile pour vérifier le contenu des e-mails sans affecter les vrais destinataires.


Étapes suivantes