Astuces mails

Sur WordPress, les problèmes d’envoi de mail viennent en général de la configuration de la fonction PHP mail() ou de la mauvaise distribution (SPF/DKIM), voire d’un blocage côté hébergeur ou plugin. Voici en pratique comment diagnostiquer et corriger :

  1. Diagnostiquer l’origine du problème
    • Installer un plugin de test et de log d’emails, par exemple “Check & Log Email” ou “WP Mail Logging”.
    • Envoyer un mail de test (via le plugin ou via un formulaire de contact) et vérifier si :
    – Le mail apparaît dans le log du plugin.
    – Il est bien transmis au serveur SMTP (si configuré).
    – Il arrive dans la boîte de réception ou en spam.

  2. Vérifier la fonction PHP mail() et l’hébergement
    • Certains hébergeurs mutualisés désactivent ou restreignent mail().
    • Contactez votre hébergeur pour savoir s’il autorise l’envoi via PHP mail() ou s’il faut passer par SMTP externe.
    • En local (WAMP, MAMP…) PHP mail() ne fonctionne généralement pas : utilisez directement une solution SMTP de test.

  3. Passer à l’envoi SMTP (recommandé)
    • Installez un plugin de SMTP :
    – “WP Mail SMTP” (by WPForms)
    – “Post SMTP”
    – “Easy WP SMTP”
    • Configurez-le avec les paramètres de votre serveur SMTP :
    – hôte (smtp.votredomaine.com ou smtp.gmail.com, etc.)
    – port (587 TLS / 465 SSL ou 25)
    – authentification : vrai
    – identifiants (login/mot de passe)
    – méthode de cryptage (TLS de préférence)
    • Définissez l’adresse d’expéditeur (From) comme étant une adresse réellement gérée sur votre domaine (ex. contact@votredomaine.com) pour diminuer les risques de spam.

  4. Mettre en place les enregistrements DNS anti-spam
    • SPF : indiquez quels serveurs peuvent envoyer du mail pour votre domaine.
    • DKIM : signature cryptographique pour légitimer l’émetteur.
    • DMARC (optionnel, mais conseillé) : politique de gestion des mails non conformes.
    Exemple d’enregistrement SPF :
    v=spf1 include:mailgun.org include:_spf.google.com ~all

  5. Utiliser un service de mails transactionnels (si volume ou fiabilité critique)
    • Mailgun, SendGrid, Amazon SES, Postmark, SMTP.com…
    • Ces services fournissent un SMTP ou une API HTTP, un tableau de bord de suivi, des rapports de délivrabilité.
    • Intégrez-les via le plugin SMTP ou un plugin dédié (ex. “Mailgun for WordPress”).

  6. Vérifier la configuration de votre formulaire/contacteur
    • Pour Contact Form 7, Gravity Forms, Ninja Forms… assurez-vous que le champ “From:” est une adresse du même domaine que votre site.
    • N’utilisez pas comme expéditeur l’adresse du visiteur, sinon certains serveurs considèrent le mail comme usurpé.

  7. Tester et surveiller
    • Envoyez plusieurs mails de test, variez les destinataires (Gmail, Outlook, Free…).
    • Consultez vos logs d’erreur côté hébergeur (mail.log, error.log).
    • Vérifiez vos boîtes spam et ajustez vos enregistrements DNS si nécessaire.

  8. Cas particulier : mails programmés (newsletter, relances…)
    • WordPress déclenche les envois via WP-Cron. Si vous avez beaucoup d’envois, envisagez de désactiver le WP-Cron interne et d’appeler cron.php via une tâche système (cron Linux).
    • Pour les newsletters, préférez un plugin ou un service spécialisé (MailPoet, Mailchimp, Mailjet…) qui gère ses propres files d’attente.

Contenu de la Leçon
0% Terminé 0/1 Etapes