Le SPF ou l’autorisation d’émettre un mail !

Par le dans . Marqué comme , , , , avec 55 Commentaires

Le SPF ou l’autorisation d’émettre un mail !

— Article mis à jour le 02/11/2011 et le 13/10/2012 —

Cette fois-ci, je vais vous parler d’une notion que j’ai découverte il y a quelques jours seulement !!

En effet, suite à mon article concernant la mise en place d’un filtre anti-spam, je discutais avec un ami de la configuration d’un serveur de messageries … C’est à ce moment que celui-ci m’a posé une question en apparence simple : As-tu pensé à mettre en place un SPF sur ton serveur de mails ?!

N’ayant aucune notion sur ce sujet, j’ai donc décidé de me renseigner sur ce fameux SPF, et voici un résumé de ce que j’en ai compris après plusieurs heures/journées (rayer la mention inutile) de recherches sur la Toile :
Dans le principe, il faut accorder à un serveur une autorisation d'émettre un mail en fonction d'un nom de domaine, afin d'en limiter l'usurpation d'identité

Le SPF qui est l’acronyme de Sender Policy Framework (Règles et politique d’émissions) a été initialement mis en place pour réduire le spam. Il s’agit d’une norme de vérification du nom de domaine de l’expéditeur d’un courriel, permettant de savoir si l’envoi d’un message utilise une adresse d’expédition valide ou si celle-ci a été usurpée.

D’après notre ami Google Wikipédia, le Simple Mail Transfer Protocol (SMTP) (Protocole de Transfert de Courriel) ne possède pas de mécanisme permettant la vérification de l’expéditeur d’un message. L’objectif avec la mise en place d’un enregistrement SPF est donc d’activer un solution d’authentification faible de l’expéditeur d’un courriel.

Le SPF, qui a pour avantage de relier l’adresse IP d’un serveur de messageries à son nom de domaine, permet donc de réduire les tentatives d’usurpations d’identité en publiant dans le DNS (Domain Name System ou Système de Noms de Domaine) un enregistrement que l’on dit de type SPF (ou anciennement TXT).

Lors de mes recherches, j’ai découvert une page du Support de Google expliquant comment mettre en place un enregistrement SPF lors de l’utilisation des services de Gmail.

Je vais donc « essayer » de vous détailler les différentes étapes que j’ai suivi pour mettre en place un enregistrement SPF sur mon nom de domaine www.sublimigeek.fr tout en tentant de vous garder éveillés jusqu’à la fin de ce billet :)

Informations importantes :
Étant un utilisateur des outils de Google, je décris dans ce billet comment mettre en place un SPF permettant aux serveurs de Google de valider mon nom de domaine et donc d’éviter de considérer des courriels, provenant de mon serveur de messagerie, comme du spam. D’après ce que j’ai pu lire, il faut apparemment mettre cela en place pour les différents éditeurs de plate-forme de messageries connus, tel que Yahoo, Microsoft avec Hotmail ou Live etc. D’ailleurs Microsoft propose son propre système de validation de SPF via cette page.

Passons à la pratique :

Avant toute chose, je me suis demandé comment faire pour voir si mes courriels possédaient un SPF ou non? La réponse ne se trouvait pas plus loin que dans les entêtes de mes messages eux mêmes ^^

Trucs & Astuces :

Pour les utilisateurs de Gmail, si vous souhaitez consulter les entêtes d’un email présent dans votre boite de réception, il vous suffira de cliquer sur la petite flèche présente à droite du bouton "Répondre".
Un menu apparaît alors, il suffit de cliquer sur "Montrer l'original" pour qu’un nouvel onglet s’ouvre avec la source de votre email.
Les entêtes d’un email sont composées de plusieurs informations comme l’adresse émettrice, l’adresse réceptrice, les serveurs ayant traités le message, les dates d’émissions et de transmissions du message ainsi que tout un tas d’informations que je ne listerai pas ici (ça mériterait un billet). Si vous souhaitez en savoir plus, je vous conseille d’aller lire cette page.

Exemple d'affichage des entetes d'un courriel sous Gmail

Image illustrant l'affichage de la source d'un message sur une interface Gmail configurée en anglais.

Donc voyons voir ce que donne l’affichage des entêtes d’un email envoyé via mon serveur de messagerie sans enregistrement SPF :

Received-SPF: none (google.com: best guess record for domain
 of transitioning monAdresse@sublimigeek.fr does not designate 
<sublimigeek .fr> as permitted sender)

Ok avec ça, j’ai toutes les chances que mes courriels soient considérés comme du (bons gros) spam, et j’aurai peut être du mal à passer les différents filtres mis en place (surtout que j’ai l’impression qu’en ce moment le filtre anti-spam de Gmail est de plus en plus sévère).

J’ai atterri sur le site officiel du Sender Policy Framework : www.openspf.org
Et sur cette page, que vois-je … une partie expliquant comment déployer et publier un SPF … si ce n’est pas merveilleux ^^

Configuration d’une entrée SPF :

[Mise à jour du 13/10/2012] Suite au commentaire de REMI, je viens de découvrir que le site OpenSPF avait désactivé le wizard SPF que j’utilise dans cet article.


Après avoir fait quelques recherches sur la Toile, j’ai pu trouver plusieurs générateurs de SPF ressemblant à celui que je décris dans cet article, je partage donc avec vous cette liste des générateurs. Leur principe de fonctionnement étant équivalent à celui que j’ai utilisé lors de la rédaction de ce billet, les descriptions que vous trouverez ci-dessous sont toujours d’actualité. En effet, les informations demandées par ces wizards sont identiques. J’espère que cela vous aidera à poursuivre cette aventure qu’est la mise en place d’un SPF. Enjoy :)

Outil permettant le déploiement d'un SPF record

  • Tout d’abord renseigner votre nom de domaine (jusque là ça va mais ça va se corser ^^) et cliquer sur « Begin »
  • Ensuite on nous présente les informations liées à notre nom de domaine comme l’adresse IP du serveur et son reverse-dns. Confirmer les informations avec ‘oui’ si celles-ci sont correctes.
  • L’outil nous indique si oui ou non le nom de domaine possède des enregistrements MX. Pour informations, les enregistrements MX (ou MX records ou mail exchange record) définissent les serveurs de courriel pour un domaine. Si vous n’en possédez pas, ce n’est pas grave. Par exemple, mon nom de domaine n’en possède pas, aucune information n’est alors précisée sur l’outil et le SPF que j’ai mis en place est bien valide.
  • Ensuite on nous demande si on souhaite ou non approuver n’importe quel domaine dont le nom se termine par notre nom de domaine. En gros, voulez-vous que le SPF impacte aussi vos sous-domaine? Personnellement j’ai répondu non car mon serveur de courrier est configuré sur mon domaine principal et il est d’ailleurs recommander de ne pas activer cette option.
  • Question suivante : Est-ce que d’autres serveurs vont envoyer des emails depuis votre nom de domaine? J’ai également répondu non car je ne possède qu’un seul serveur de mails. Si vous devez répondre positivement à cette question, renseignez les noms de domaines ciblés. Précisez, si possible, les serveurs supplémentaires qui doivent être autorisés à envoyer des emails comme provenant de votre nom de domaine. Il faut pour cela donner les caractéristiques MX, et les adresses IP de chaque serveur.
  • Demande suivante : Est-ce que des courriels seront envoyés via les serveurs appartenant à un autre nom de domaine ? Ici, il vous faudra répondre en fonction de vos besoins et de votre infrastructure. Répondez « OUI », si votre serveur SMTP est hébergé sur une machine ayant un nom de domaine différent de votre serveur Web, ou « NON » si votre serveur SMTP à la même adresse IP que votre serveur Web.
  • Ensuite on nous demande si l’entrée SPF qui a été générée, décrit convenablement l’ensemble du ou des nom de domaines considérés, ainsi que les différents serveurs configurés.
    Si tout vous semble correct, cliquez sur « yes » et recalculer l’enregistrement SPF.

J’obtiens donc avec ma configuration une entrée SPF de cette forme :

"v=spf1 a -all"

Mais votre SPF peut également avoir la forme suivante :
(où XX.XX.XX.XX est l’adresse IPv4 de votre serveur)

"v=spf1 ip4:XX.XX.XX.XX -all"

Ou encore la forme suivante :
(où aaaa:bbb:c:dddd:e:f:gggg:hhhh est l’adresse IPv6 de votre serveur)

"v=spf1 ip6:aaaa:bbb:c:dddd:e:f:gggg:hhhh -all"

Hop hop hop, doucement les amis, ce n’est pas encore fini !!
Je vous conseille de prendre quelques minutes supplémentaires, pour lire les différentes informations fournies par le générateur de SPF. Il décrit (en anglais) parfaitement chaque partie de notre entrée SPF, et je peux vous le dire, c’est réellement instructif !!

Mise en place d’une entrée SPF :

Revenons en à nos moutons, il faut maintenant que l’on ajoute cette nouvelle entrée à notre domaine. A partir de maintenant, les manipulations vont dépendre de votre hébergeur, et comme je vous l’ai signalé en début de ce billet, je suis chez Gandi donc je vais vous décrire les étapes à suivre si votre nom de domaine est hébergé chez ce fournisseur.

D’ailleurs chez Gandi, la gestion des zones se fait de plusieurs manières : version simplifiée, version normale et version experte.
Interface Gandi pour la gestion des zones d'un domaine Je suis donc parti sur la version "experte" qui me semblait finalement la plus simple et rapide à réaliser.

En effet, si vous faites attention aux résultats de l’outil qui a généré notre SPF, en dessous des explications de notre entrée, on y trouve 3 informations non négligeables :

  • If you run BIND
  • If you run tinydns (djbdns)
  • If you run Windows DNS
  • More options

Pour mettre en place notre enregistrement SPF, il suffit de copier l’entrée indiquée sous la partie If you run BIND, pour ensuite aller la coller dans le fichier de zones qui est accessible via le lien "Expert" de l’interface d’administration Gandi.

Dans mon cas, l’entrée SPF ressemble finalement à :

sublimigeek.fr. IN TXT "v=spf1 ip4:XX.XX.XX.XX -all"

On enregistre ensuite les modifications du fichier de zones.

L’ enregistrement SPF a donc été ajouté au nom de domaine, maintenant il ne reste plus qu’à patienter pour que les modifications soient apportées aux DNS. Cela dépendra de la valeur que vous avez renseignée dans le TTL de votre domaine, qui est le temps pendant lequel les informations de votre domaine sont conservées.

Visualisation du résultat de l’ajout du SPF dans les entêtes de mes messages après la propagation de l’enregistrement sur mon nom de domaine :

Received-SPF: pass (google.com: domain of 
monAdresse@sublimigeek.fr designates AdresseIpServeur 
as permitted sender) client-ip= AdresseIpServeur;

Me voilà donc protégé de l’usurpation d’identité de mon domaine :)

Contrôle du SPF :

Maintenant que notre SPF est mis en place, je pense qu’il est tout de même nécessaire de vérifier le bon fonctionnement de celui-ci.
Pour cela, je vous invite à visiter ce site qui propose un outil de vérification des enregistrements SPF.

Voici le résultat d’une requête sur mon nom de domaine via cet outil :

< spf records are primarily published in DNS as TXT records.
The TXT records found for your domain are:
v=spf1 ip4:XX.XX.XX.XX -all 
Found v=spf1 record for sublimigeek.fr: 
v=spf1 ip4:XX.XX.XX.XX -all 
Evaluating…
SPF record passed validation test with pySPF (Python SPF library)!

Et voilà le travail :)

Et comme on le dit souvent, un petit dessin vaut mieux qu’un long discours, voici donc un schéma récapitulatif du principe de fonctionnement du SPF :

Principe de fonctionnement d'une vérification SPF

Informations supplémentaires :
Pour les personnes qui n’ont pas d’enregistrements MX liés à leurs domaines (ce qui est mon cas), éditez les zones de votre domaine pour modifier la valeur www en @ et patientez le temps de la mise à jour des informations du domaine.
Cela vous évitera une prise de tête lors du débugge des erreurs ^^

Pour conclure ce billet et vous aider dans la résolution de problème (si vous en rencontrez), voici une liste des différents types de réponses d’un SPF visibles dans les entêtes d’un message :

Received-SPF: pass (mybox.example.org: domain of myname@example.com
    designates 192.0.2.1 as permitted sender)
    receiver=mybox.example.org; client_ip=192.0.2.1;
    envelope-from=myname@example.com
Received-SPF: fail (mybox.example.org: domain of myname@example.com does
    not designate 192.0.2.1 as permitted sender)
Received-SPF: softfail (mybox.example.org: domain of transitioning
    myname@example.com does not designate 192.0.2.1 as permitted sender)
Received-SPF: neutral (mybox.example.org: 192.0.2.1 is neither permitted
    nor denied by domain of myname@example.com)
Received-SPF: none (mybox.example.org: domain of myname@example.com does
    not designate permitted sender hosts)
Received-SPF: permerror -extension:foo (mybox.example.org: domain of
    myname@example.com uses mechanism not recognized by this client)
Received-SPF: temperror (mybox.example.org: error in processing during
    lookup of myname@example.com: DNS timeout)

Annonce importante : Suite aux remarques d’un lecteur dans les commentaires, j’ai modifié une petite partie de mon article.
En effet, une erreur a été faite lors de la génération de mon SPF, et celui-ci permettait alors l’envoi de mails utilisant mon nom de domaine (sublimigeek.fr) par les serveurs de Google.
Cette erreur ouvrant alors une faille de sécurité sur le serveur permettant l’usurpation de mon nom de domaine, j’ai tout de suite modifié mon SPF et je vous conseille de mettre en place la nouvelle configuration détaillée dans ce billet sur votre serveur si vous avez suivi mon tutoriel pour mettre en place un SPF chez vous.

Mes « marque TA page » glanés lors de ce périple SPF :



Un générateur de SPF – old.openspf.org
Un outil de validation d’un enregistrement SPF – Kitterman.com
Un outil de mise en place d’un SPF made in Microsoft – Microsoft.com

Voici les sources que j’ai utilisé pour réaliser ce billet :
– L’ensemble des différents liens Wikipédia qui parsèment l’article concernant les DNS, le SPF, le Time To Live et les courriers électroniques
– Illustration du workflow de vérification du SPF : http://www.xmco.fr/article-senderid-vs-spf.html
– Détails concernant le header d’un SPF : http://www.openspf.org/SPF_Received_Header

55 Commentaires


  1. Bonjour,

    Merci beaucoup pour votre tuto, amateur complet et loin d’être geek, j’ai pu enfin enregistrer mon SPF pour les mails de mon site récupérés via gmail!
    un grand merci.

    • Merci d’avoir pris le temps de poster un commentaire, ce genre de message fait super plaisir en plus !!
      Si jamais vous voyez des améliorations à apporter au billet, n’hésitez pas à me les transmettre :)

  2. Pingback : Installer et configurer le paquet Fail2ban sur un serveur | Sublimigeek | Geek, Astuces, High Tech et découvertes du Net

  3. Bonjour,
    Bravo pour ce tuto, ça fait toujours plaisir d’avoir des infos très détaillées comme celles là.
    Par contre, j’ai suivi ce tutoriel (je suis chez OVH) et ça ne va pas du tout, je galère depuis 2 jours avec ça, mes mails sont toujours en spam et pire, quand je fais le test via openspf que vous indiquez, j’ai en retour un message qui me dit « The domain xxx has not published an SPF policy », je ne comprends plus…
    Si vous avez une idée, je suis preneur.

    Merci d’avance.

    • Salut Dominique,

      Merci pour le compliment concernant le billet, c’est toujours sympa à lire :)
      Concernant ton problème, là tout de suite, je ne vois pas d’où cela pourrait venir, mais pour commencer il faudrait connaître l’état de ton SPF, donc en regardant la source de tes mails cela donne quoi ? (état fail, neutre, softfail etc.)
      Peut être qu’avec cette info nous pourrions orienter nos recherches …

  4. Hello Joël,

    Merci pour ton tuto, il est très complet mais j’ai un souci malgré tout, peut-être pourras-tu m’éclairer ?

    Depuis mon blog, j’utilise la fonction mail() de PHP pour envoyer des courriers en provenance de mon adresse gmail (stephane___@gmail.com). Quand les gens reçoivent ces messages envoyés par PHP, leur messagerie leur indique « attention, ce message n’est peut-être pas envoyé par Stéphane Paton » En théorie c’est vrai, c’est PHP qui les a envoyés.

    Le SPF peut-il régler mon problème ? Car dans ton tuto, les mails envoyés sont ceux de ton domaine, pas des « gmail.com », je ne me trompe pas ?

    Merci d’avance pour ton aide et encore merci pour ton billet,
    Stéphane

    • Salut Stéphane,

      Désolé pour le temps de réaction, mais j’ai été pas mal over booké ces derniers temps :)
      Sinon, concernant ta question, en effet, j’utilise le SPF sur mon propre nom de domaine, mais après avoir parler de ton problème avec un ami, il m’a envoyé par mail un lien qui à mon avis pourrait fortement t’intéresser :)

      Il s’agit d’un plugin WordPress qui permet d’utiliser en direct le SMTP de Gmail pour l’envoi de mails, donc avec ça, tu ne devrais plus avoir l’erreur indiquant que ton mails ne proviennent pas de ton compte Gmail.

      Voici le lien en question : http://sudarmuthu.com/blog/how-to-send-email-in-wordpress-using-gmails-smtp-server

      En espérant que cela puisse résoudre ton problème :)

      • Bonsoir,

        Super, je vais partir là dessus. C’est pour une page en dehors de mon blog en réalité, mais je devrais me débrouiller pour trouver une version stand-alone du plugin. Ce qui est important, c’est la piste du serveur SMTP.

        Vraiment, merci !
        Bon courage pour demain si tu ne fais pas le pont.

        A bientôt,
        Stéphane

  5. Si ça intéresse quelqu’un, voici la solution pour certifier vos e-mails Gmail en utilisant un envoi SMTP avec PHP.

    1) Installez les packages php-pear sur votre serveur :
    apt-get install php-pear (sur Debian/Ubuntu)

    2) Installez les librairies Pear « Mail » et « Mail_mime » :
    pear install Mail
    pear install Mail_mime

    3) Utilisez ce code en modifiant ce qu’il faut modifier : http://pastebin.com/R9r2c9ZF
    Il permet d’envoyer des mails au format HTML. Il est très spécifique à Gmail qui utilise un port SMTP bien particulier grâce à SSL.

    Sinon, la doc PEAR est excellente et traduite : http://pear.php.net/manual/fr/

    Merci encore Joël pour le coup de main !
    Stéphane

    • De rien et merci à toi pour avoir pris le temps de poster une solution à ta question car cela peut être pratique pour pas mal de monde :)
      Bonne continuation et à bientôt !!

    • Salut Nil,

      Merci pour le lien, j’étais tombé dessus lors de mes recherches et l’avais cité dans mes « marques TA page », il est vrai qu’il est plus complet que les autres :)
      Sinon je prends note de ton conseil/retour sur mon SPF et je vérifierai si ma configuration est bonne ou pas, mais dans tous les cas, je n’utilise pas le SMTP de Gmail, mais bien celui de mon serveur de mails.

      Merci pour le com ;)

      @+

  6. Suite aux remarques avisées d’un lecteur, et après vérification, il se trouve que le SPF que j’avais généré le jour de la rédaction de cet article n’était pas correct. Il permettait l’utilisation d’un nom de domaine depuis les serveurs de Google, si celui-ci, avait été configuré tel qu’il était expliqué dans le billet.

    Je viens donc de faire de nouvelles recherches afin de générer un nouvel SPF empêchant cela et j’ai mis une partie du billet à jour pour corriger cette erreur.

    N’hésitez pas à mettre votre configuration à jour si celle-ci se basait sur mon article, afin de ne pas autoriser l’utilisation de votre nom de domaine depuis les serveurs de Google.

    Désolé pour ceux qui auraient foncés sans attendre et qui vont devoir modifier leur configuration ^^
    C’est là toute la magie de l’Informatique, on en apprend tous les jours … Merci à tous :)

  7. Bonjour et merci pour ce génial tuto

    Je suis chez Ovh et dans le « manager » et dans l’onglet « Zone DNS » il y a un formulaire tout près pour générer son SPF. C’est très simple !
    Par contre, je ne sais pas si ça concerne les gens qui sont sur un mutu Ovh. A priori pour eux il y a un SPF généré automatiquement.

    Par contre, une question. J’envoi des mails depuis mon serveur, mais aussi depuis l’interface gmail (pour des réponses personnalisées). Je ne sais pas comment indiquer dans mon SPF que gmail a également le droit d’envoyer des mais avec mon nom de domaine.

    Merci encore

    • Salut Gaten,

      Tout d’abord, un grand merci pour ces compliments et pour avoir pris le temps de laisser un commentaire !!
      En ce qui concerne ta question, si tu as configuré Gmail pour qu’il puisse envoyer des courriels en utilisant le SMTP de ton serveur, normalement le SPF est censé être OK puisque le mail partira depuis ton serveur.

  8. Pingback : Sécurité – Utilisateurs de Gmail, prudence ! | Sublimigeek | Geek, Astuces, High Tech et découvertes du Net

  9. Bonjour,
    merci pour ce tuto il ma beaucoup aidé pour la partie théorique.
    je commence la pratique d’enregistrement SPF
    Je suis chez planet-work(pack pro), j’utilise leur SMTP pour l’envoie de courriel avec Swift-Mailer.
    je dois envoyer des mailling avec des noms d’expéditeurs différents.
    Quand l’expéditeur est TITI@gmail.com, tous les destinataires Gmail reçoivent le message avec un avertissement de phising.

    Pour enregistrer ma balise SPF je suis allé chez microsoft.com/senderid/wizard.
    Mon anglais n’étant pas terrible, et je ne comprends pas tous dans la traduction.
    Pouvez-vous m’aider s’il vous plait?
    – Domain Not Used for Sending E-Mail
    No mail is sent from domain : pas coché
    – Inbound Mail Servers Send Outbound Mail
    Domain’s inbound servers may send mail : coché
    3 adresses MX : coché
    – Outbound Mail Server Addresses
    All addresses listed in A records may send mail : ????
    Adresse IP : coché
    – Reverse DNS Lookup
    All PTR records resolve to outbound email servers : coché
    – Default
    Yes, NO, Neutral, Discouraged : ????
    – Scope : Both

    pour les ???? je ne sais pas quoi choisir et leurs fonctions m’échappent un peu.
    Devrais-je faire autre chose pour être en règle avec mes destinataires et leurs boîtes de receptions?

    Cordialement.
    Fred. @+ ??

    • Salut Fred :)

      Je pense que je n’ai pas tout compris … tu essais d’envoyer des courriels depuis une adresse d’expédition Gmail ou depuis un nom de domaine t’appartenant ?

      Concernant tes questions, voici ce que je peux faire pour toi :
      1) « All addresses listed in A records may send mail » : si je ne me trompe pas, cela signifie que tes sous-domaines peuvent aussi être autorisés à envoyer des mails
      2) « Yes, NO, Neutral, Discouraged » : si tu n’envoies tes mails que depuis un seul et unique serveur (dont tu as configuré l’adresse IP précédemment) il faut que tu coches le choix « NO ».

      En gros, voici les choix proposés :
      « YES » : Oui, le courrier peut légitimement avoir pour origine des adresses IP non identifiées ci-dessus.
      « NO »: Non, ce domaine envoie le courrier qu’à partir de l’adresse IP identifiée ci-dessus.
      « NEUTRAL » : Neutre, ce domaine ne fait aucune déclaration, il se peut éventuellement que plusieurs mails puissent avoir pour origine une adresse IP non identifiée ci-dessus.
      « DISCOURAGED » : Découragé, le courrier peut légitimement provenir d’adresses IP non identifiées ci-dessus.

      Dans le cas où tu envoies les mails depuis un nom de domaine qui t’appartient et que tu as mis en place le SPF, penses à patienter le temps que les modifications du domaine soient propagées dans les serveur de DNS (cela peut prendre plusieurs heures/jours selon la configuration mise en place).

      Je ne sais pas si j’ai pu t’aider, n’hésites pas à revenir vers moi si ce n’est pas le cas, à deux, nous finirons bien par réussir à faire ce que tu veux :)

      @+

      • Merci pour ta réponse aussi rapide et claire
        dans mon cas je dois envoyer des news pour plusieurs assos.

        j’utilise le smtp de planet-work de mon domaine.
        smtp planet-work – username:mon_nom@mondomaine.fr – Pass : mon_PassW

        Dans la config de swift mailer
        setFrom(Mail_Expediteur => Nom_Expediteur)

        mon souci est :
        CAS 1
        setFrom(adresse_asso@gmail.com => nom_de_l’asso) => Le destinataire qui a Gmail reçoit un avertissement de phishing.
        et je n’ai pas essayé avec d’autres boites Mail comme Hotmail, Yahoo, ….

        CAS 2
        setFrom(noreply@mon_domaine.fr => nom_de_l’asso) => pas d’avertissement.
        mais je veux être dans le cas1.

        je viens de procéder à la création du SPF … il m’a généré
        v=spf1
        mx
        ptr
        ip4:xx.xx.xxx.x
        mx:mx1.planet-work.com
        mx:mx2.planet-work.com
        mx:mx3.planet-work.com
        -all
        j’en fais quoi?, il m’a indiqué de le mettre dans un TXT, mais où?

        @+ Fred

        • Salut Fred,

          Désolé pour ma réponse tardive, mais j’ai été pas mal occupé aujourd’hui, j’ai donc supprimé ton précédent commentaire comme tu l’as demandé, tu as du remarquer seulement après que ton commentaire était encore en « attente de modération » :)

          Concernant ta question, j’avoue que je ne sais pas trop quoi te dire pour le coup …
          Tu as bien généré ton SPF, jusque là tout va bien, maintenant, pour pouvoir l’utiliser il faut l’ajouter dans les zones de ton nom de domaine via l’interface d’administration de ton fournisseur !
          Par contre, cela ne te permettra pas de répondre à tes besoins pour le cas #1 (cas #2 oui si SPF en place), en effet, le SPF ne s’enregistrera pas pour le nom de domaine « gmail.com » mais seulement pour « mon_domaine.fr ».

          A mon avis, le problème n’est pas là, comme tu essaies d’envoyer des mails depuis un nom de domaine de Google, tu devrais essayer de configurer dans swift mailer non pas le SMTP de Planet Work, mais celui de Gmail directement.
          Enfin, je dis ça, mais je n’ai jamais essayé d’envoyer des mails dans le contexte que tu essaies de mettre en place. Dans tous les cas, je pense que cela doit être possible et il doit falloir s’authentifier pour utiliser le SMTP, ce qui signifie que tu dois connaître les identifiants de connexion de l’association pour qui tu veux faire le mailing :)

          Voilà la configuration à mettre en place pour Gmail, par contre, j’ai trouvé ça sur la Toile sans faire de tests avant, donc ils ne sont peut être à jour …

          Googlemail / Gmail SMTP Server :
          SMTP Authentication : Oui
          SMTP Security : SSL ou StartTLS
          SMTP Port : si SSL 465, si TLS 587
          SMTP username : Adresse Gmail complète
          SMTP password: Mot de passe liée à l’adresse Gmail
          SMTP host: smtp.gmail.com

          Voilà, j’espère que cela te mettra dans la bonne direction car je ne suis pas sûr que cela fonctionnera :)

    • Salut Fred,

      C’est étrange ce que tu me racontes … tu es la première personne à me remonter des problèmes avec les commentaires.
      Tu utilises quel navigateur ?

      Pour information, tous les commentaires sont modérés, ils ne s’affichent donc pas tant que je ne suis pas passé par là ^^
      Travaillant en journée, j’essaie de passer le plus souvent possible mais parfois l’IRL prend le dessus. Dans tous les cas, je réponds TOUJOURS lorsqu’une personne prend la peine de m’écrire :)

      Essaies de publier à nouveau ton précédent commentaire pour voir !

  10. salut,
    réponse tardive…. pas pour moi en tout cas.
    j’ai mis le SPF dans l’interface de gestion de mon compte.
    cela donne ça:
    1) @ TXT ma clé SPF
    2) www A xx.xx.xxx.x
    3) @ A xx.xx.xxx.x
    je pense que j’ai bon? l’IPxx.xx.xxx.x doit vers mon site? En fouillant sur le net il parle aussi clé Dkim….
    je voulais procéder de cette façon (smtp:planet-work->expediteur:Gmail ou autre) car j’ai des assos avec mini 200 contacts(ça je gère avec mon FAI ou le Smtp de Gmail) et d’autres avec 8000 contacts tout en utilisant leurs adresses comme nom d’expéditeur.
    Mais bon si c’est pas possible je vais fonctionner, pour l’instant, en créant une adresse nom_asso@mon_domaine.
    Quasi toutes les assos on un site web, je vais récupérer leurs paramètres et voir a gérer avec leurs propres nom de domaines.
    C’est vrai, que envoyer des mails d’un compte en utilisant des paramètres d’un autre, se faire passé pour quelqu’un peut vite devenir mal saint si il n’y a pas de contrôle de sécurité.

    Mille Merci encore pour toute ton aide et tes explications.

  11. Suite au problème de post du 7 février 2013 à 9 h 32 min

    J’ai eu du mal à l’envoyé j’ai essayé plusieurs navigateurs sans résultat
    firefox 18.02, googleChrome Version 24.0.1312.57 m, Opéra 12.14.

    après l’appuie sur le bouton Publier>> la page se recharge mais sans le post.
    pourquoi celui du dessus est passé..??..??
    ce qui a changé j’ai juste viré la clé SPF et remplacé par  » ma clé SPF  »
    Pourtant ce n’est que du texte, l’ip était caché….

    , bonne soirée …. si tu veux d’autres renseignements suite à ce problème n’hésite pas.

    • Salut Fred,

      Les commentaires sont marqués « en attente » et ne sont pas publiés tant que je ne les ai pas validé manuellement.
      C’est peut être pour cela que tu ne l’as pas vu apparaître tout de suite sur la page après un refresh de celle-ci, j’ai été pas mal occupé ces derniers jours donc je n’ai pas pu m’en occuper tout de suite :)

      Du coup, où en es-tu de ton histoire ? As-tu pu avoir accès aux noms de domaines des associations afin de configurer le SPF ?

      Bonne soirée :)

  12. Salut Joël,

    Ma clé SPF est bien validé sur mon domaine.
    J’ai créé sous mon compte des adresses mail nom_asso1@mon_domaine.fr du coup j’envoie par mon compte et pour ceux qui veulent répondre au mail je met l’adresse de l’asso dans les paramètres de swift. j’ai fait un envoie de 200 mails vendredi qui c’est bien passé.
    Pour les assos :
    j’ai vérifié leurs domaines sur le site de microsoft et j’en ai 2 sous Ovh où le SPF est trouvé et une autre il m’indique leur nom de domaine mais le SPF n’est pas trouvé.
    Je vais voir cette semaine pour récupérer leurs paramètres SMTP de leurs domaines. Mais à ce que je vois ils ont tous un domaine à eux pour leurs sites Web avec compte mail mais leurs messageries de contact est Gmail.
    Je te tiendrais au courant si j’ai des news..

    Au cas ou tu ne connais pas SwiftMailer?

    • Salut Fred,

      Si tu arrives à envoyer tes mailings avec un SPF valide c’est déjà une bonne nouvelle. Normalement, fini les faux positifs en terme de « spams » et/ou « d’usurpations d’identité » :)

      Par contre, si il te donne leurs paramètres SMTP, il faudra peut être prévoir une modification de leurs enregistrements SPF pour qu’ils prennent en compte l’adresse IP du serveur qui fait les mailings (c’est à dire le tien) sinon ça ne passera pas … et tu vas rencontrer à nouveau le même problème.

      Concernant SwiftMailer, j’avais déjà utilisé des librairies PHP pour du mailing pour un de mes anciens jobs, mais pas celle-ci, qui au passage, à l’air pas mal du tout (ajouté dans mes favoris à l’instant pour la peine ^^). Tu rencontres des problèmes avec ?!

      Tiens moi informé si tu as du nouveau et bon courage pour tes envois de mails, c’est toujours du boulot pour la mise en place !

  13. Salut Joël,

    Merci pour tes conseils.

    Concernant SwiftMailer, c’est vrai que cette class PHP est très bien faite, une bonne doc et surtout un bon suivi au niveau des mises à jours.
    Je n’ai pas de problème fonctionnel avec. C’est dans la création du mail on peut paramétrer le Header avec pleins d’options. Est-il mieux de le paramétrer sachant que sans cela fonctionne très bien ?. Je ne me suis pas encore trop penché sur la question.
    L’autre chose est plus programmation PHP, je veux avoir une partie du body différente pour chaques destinataires. C’est pour mettre un lien unique sur chaque News comme cela la désinscription se ferait uniquement en cliquant sur un lien, actuellement ils sont redirigé vers une page où il doivent entrer les adresses.
    @+

    • Concernant les headers des courriels, il faut savoir que l’en-tête d’un mail contient toutes les informations importantes relatives à celui-ci.
      Par exemple, expéditeur, destinataire, origine, date d’envoi, enregistrement SPF etc … il y a une liste des informations et un exemple d’header sur cette page de Wikipédia : https://fr.wikipedia.org/wiki/Courrier_%C3%A9lectronique#Contenu_du_courriel qui vaut le détour :)

      Ce que tu pourrais essayer de faire, c’est de t’envoyer un courriel depuis SwiftMailer et d’en afficher la source pour voir à quoi ressemble l’en-tête. Ensuite tu regardes ce qu’il est possible de paramétrer depuis la classe PHP et tu vois si oui ou non il est nécessaire de modifier quelque chose.

      Après niveau PHP, ça va être dur de t’aider sans savoir ce que tu as mis en place, et pour couronner le tout, je suis un piètre développeur.
      Mais ça doit être faisable je pense, cherches un peu sur la Toile, je suis sûr qu’il est possible de trouver un bout de code qui fait déjà le travail et que tu n’auras plus qu’à intégrer à ton système :)

      @+

  14. Hello,
    Personnellement, j’ai demandé à mon hébergeur Arvixe de mettre en place le SPF et ils me l’ont mis en place en moins de 10 minutes et gratuitement.
    Ils m’ont également communiqué un lien : http://mxtoolbox.com/ pour vérifier si tout fonctionne correctement.

    • Salut,

      Ton hébergeur a le sens du service, c’est une bonne chose à savoir :)
      Dans mon cas, je n’ai pas pu le faire car le blog tourne sur un serveur dédié et dans ce cas, les hébergeurs n’ont qu’une règle : « Sauf dépannage pour intervention physique, la machine est entièrement à la charge du client ». Donc en gros, RTFM, fais des backups et gogogo ^^

      Sinon merci pour le lien, c’est un excellent outil !

      @+

      • Salut,

        Je suis chez eux depuis pas mal d’année et c’est vrai qu’ils m’ont sorti de la mouise plus d’une fois…
        J’avais également un serveur dédié et le service est le même.

        « check 24/7 dedicated support – Need something installed? Or an update to a software on your server? We are here 24/7/365 to get it done for you as soon as possible. »

        @+

  15. merci Joël pour le temps que tu m’as fait gagner. Mon site est hébergé chez online et le DNS chez Gandi, j’avais très peur que le système SPF ne fonctionne pas. Mais apparemment après le temps de refresh du DNS ça fonctionne gmail ne me met plus dans les SPAM. Yeeesss !!!

    • Salut Thierry :)

      Content d’avoir pu t’aider, j’avoue que gagner du temps sur ce genre de problème ça fait toujours plaisir ^^
      En tout cas, merci à toi d’avoir pris le temps de laisser un com sur le blog et n’hésites pas à repasser par ici ;)

      Bonne continuation !

  16. salut Joël,
    je reviens vers toi car depuis peu j’ai encore des soucis concernant l’envoie de NewsLetter
    Cela fonctionnait bien jusqu’à maintenant.
    Depuis la dernière fois j’ai fait régler le SPF par mon hébergeur donc ça c’est ok.
    Mais sur Gmail (depuis 15 jours) mes envoies arrive dans les spam avec comme message :
    Pourquoi ce message se trouve-t-il dans le dossier « Spam » ?
    Nous avons constaté que de nombreux messages envoyés depuis mon_domaine.fr sont du spam. En savoir plus.

    de mon côté j’ai regarder si mon domaine n’était pas Blacklisté, tout à l’air OK
    En regardant sur le Net je ne trouve pas de solution.

    Peut-être à tu une idée ou une piste.?

    • Salut Fred,

      Désolé pour ma réponse un peu tardive :)
      Aurais-tu un extrait de méta-données d’un de tes mails ? (Je décris dans l’article comment le récupérer sous Gmail).
      Ça me permettrait de voir si le SPF est bien pris en compte ou non et de voir dans quelle direction il faudrait que l’on oriente nos recherches !

      Dans l’attente d’un retour de ta part si tu n’as pas déjà résolu ton problème ^^

      @+

  17. Salut,
    je pense que c’est ce que tu voulais …

    Delivered-To: adr.destinataire@gmail.com
    Received: by xx.xx.xxx.xxx with SMTP id xxxxxxxxxxxxxxxxx;
            Fri, 30 May 2014 13:06:27 -0700 (PDT)
    X-Received: by xx.xxx.xx.xx with SMTP id xxxxxxxxxxxxxxxx;
            Fri, 30 May 2014 13:06:26 -0700 (PDT)
    Return-Path: 
    Received: domain_name.net (domain_name.net. [xxxxxxxx])
            by mx.google.com with ESMTPS id xxxxxxxxxxxxx.52.2014.05.30.13.06.25
            for 
            (version=TLSv1.2 cipher=RC4-SHA bits=128/128);
            Fri, 30 May 2014 13:06:26 -0700 (PDT)
    Received-SPF: pass (google.com: domain of Adr.Expediteur@Mon_Domaine.fr designates xxxxxxxxxx as permitted sender) client-ip=xxxxxxx;
    Authentication-Results: mx.google.com;
           spf=pass (google.com: domain of Adr.Expediteur@Mon_Domaine.fr designates xxxxxxxx as permitted sender) smtp.mail=Adr.Expediteur@Mon_Domaine.fr;
           dkim=pass header.i=@Mon_Domaine.fr
    
    • Salut Fred,

      C’est en effet ce que je voulais. J’ai d’ailleurs modifier ton commentaire pour masquer les informations un peu critique et supprimer tout ce qui était inutile pour notre recherche ;)

      Grosso modo, ton SPF est valide et opérationnel d’après ce que je peux voir donc pour moi, le problème vient d’ailleurs …
      Aurais-tu fait de « gros » changements sur ta newsletter dernièrement ?

      Il existe des « règles d’or » à respecter pour l’envoi de newsletter et autres mails « marketing » qu’il faut respecter afin d’éviter la case spam sur les serveurs de mails, as-tu regarder de ce côté ?

      Il s’agit de règles basiques comme par exemple, éviter que la newsletter ne s’affiche qu’avec une seule et unique image, éviter les phrases en majuscule, éviter certains mots clefs qui sont filtrés par défaut comme les mots « gratuit » ou « bonus » ou encore « promotion ».

      Il faut aussi en règle général respecter un pourcentage d’affichage des images en rapport au message (certains disent moins de 60% d’images par rapport aux textes).

      Il existe énormément de règles à suivre, je pense donc qu’il faudrait regarder dans cette direction et faire des tests pour trouver le bon compromis.
      Voici un exemple d’articles listant ces quelques règles (il y en a des tonnes en ligne) : http://www.webbax.ch/2011/12/05/simplifier-sa-newsletter-pour-eviter-les-problemes/

      Et d’ailleurs, j’y pense, si tu utilises un logiciel d’emailing, très souvent, ils proposent des modules de « scoring spam », cela pourrait aussi t’orienter vers une piste correcte …

      Voilà, je ne sais pas vraiment quoi te dire de plus, mais pour moi, le problème n’est plus lié à ton SPF mais à ta newsletter directement …

  18. salut Joël,

    j’envoie mes news avec un logiciel Php que j’ai développé perso.
    Au début je pensais que c’était lui qui me posais problème.
    Donc je me suis tourné vers un logiciel http://www.sendblaster.fr/ (qui vaut vraiment le détour), pour faire des tests.
    Mais même soucis.
    Pourtant ce logiciel même en version Free (sans limite dans le temps), permet de vérifier la news avant l’envoie,
    (Ratio image/texte, …) et donne une note de 0(ok) à 5(NG), il gère des listes de contact, les abonnements et désabonnements.
    J’ai aussi créé un news d’essai en respectant les chartes de news pour avoir un score de 0 mais même problème.

    Sachant qu’il y 3 jours en vérifiant avec Mxtool mon domaine était clean mais pas mon Ip (FAI).
    j’étais blacklisté sur SORBS DUHL & Spamhaus ZEN depuis j’ai fait le nécessaire (inscription) pour me retirer de leurs listes, depuis tout est clean.

    Voilà tout ce que je peux te donner comme info.
    Demain je vais appelé mon Herbergeur pour voir si eux on peut-être une piste
    (si ils ont une info intéressante je la posterais)

    Et sinon à la fin d’une clé Spf qu’elle est la différence entre -all & ~all

    Merci.

    • Salut Fred,

      Merci pour ton retour plus que détaillé, c’est cool et cela pourra certainement aider d’autres Sublimigeekiens passant par ici ^^
      Je ne connaissais pas ce logiciel, je ferais un test avec pour voir ce que cela donne, il a l’air complet en tout cas !
      Tu as eu un très bon réflexe en vérifiant si tu n’avais pas été blacklisté quelque part et c’est une bonne nouvelle si tout est rentré dans l’ordre depuis :)

      Sinon pour la différence de clef SPF concernant le mot clef « all » pour moi il n’y a pas de différence dans les exemples que tu donnes. Je viens d’aller faire un tour sur la RFC (http://www.openspf.org/RFC_4408 < = très bonne lecture si tu n'as pas trop de mal avec l'anglais ^^) les seules options valables sont les suivantes : +all & -all Au fait, tu as eu des retours intéressants de la part de ton hébergeur finalement ? Bonne journée !

  19. Salut Joël,

    J’ai mis un peu de temps à répondre car j’ai voulu faire une synthèse de tout ce que j’ai pu constater.
    Tout est rentré dans l’ordre, chez Gmail je n’arrive plus dans les Spam.
    Mais j’ai tout de même voulu savoir le pourquoi du comment.

    Quand les mails arrivaient en spam j’ai donc contacté mon hébergeur pour être sur du Spf,
    Il m’on indiqué qu’il était OK, et que mon domaine et Ip était saint (pas de blacklist), de faire attention au mail invalide ce qui génère des retour, cela peu venir ça.
    De plus sur la partie Admin de mon compte hébergeur pour envoyer des news tu enregistres ton Ip pour 24h ce qui permet d’éviter les blacklist.
    Donc pour eux ce n’était plus de leur ressort.
    Chaque boite de réception peut avoir des contrôles de spam plus ou moins sensible.
    Dans mon cas, Gmail apprend… si plusieurs receveurs click sur le mail en tant que spam les autres mails risquent fortement d’arriver en spam,
    Si le header et le corps de la news ne respecte pas une certaine charte les mails risquent d’arrivé dans les spam.
    La base de données des mails doit être propre (mail valide)

    En étudiant plusieurs newsLetter que je reçois avec celle qui posait problème et en prenant toute les bonnes pratiques de construction de news
    J’étais un peu dans les choux sur plusieurs points:

    – Expéditeur / Réponse / Bounce :
    NE PAS FAIRE
    Je passe par planet work avec parametre SMTP, Login xxxx@monDomaine.fr / pass
    Expéditeur / Réponse / Bounce : autre adresse mail mon_client@gmail.com
    résultat du Header –> softfail
    Destinataire : 500/7500 adresses qui n’existe plus donc retour.
    A FAIRE
    Il vaut mieux que tout soit au même nom de domaine et faire des redirections de mail au cas ou.
    Faire le ménage dans les destinataires

    – Sujet
    NE PAS FAIRE
    Voici mon sujet –
    NEWSLETTER XX ! XXXXXXX _Invitation : LECTURE ET MISE EN ESPACE – XX ! XXXXXXX – SAMEDI 7 JUIN 2014 – THÉÂTRE GÉRARD PHILIPE – XX XXXXXX – XXXXXX (XX) – XXXXXXX
    A FAIRE
    Max 30 à 40 caractères, éviter les majuscules, caractères spéciaux, mots à éviter

    – Ratio image/Texte
    NE PAS FAIRE
    ma news 40% texte – 60% image
    A FAIRE
    60% texte 40% image

    de plus dans le header j’ai rajouté une ligne pour le nom, version et source de la classe Php que j’utile pour envoyer les news,
    une ligne pour l’adresse mail de désinscription.

    Voilà mais je pense que je vais acheter SendBlaster( la version Free est valable 7j), mon programme tourne un peu de la même façon mais j’ai encore quelques modules à développer.
    si je fais le rapport entre le prix du logiciel et le temps qu’il me reste à faire du développement … j’achète.

    En plus l’été arrive … normalement.

    et pour finir voici mes sources des bonnes pratiques :
    http://gmkpress.com/fr/ressources-email-marketing/le-guide-email-marketing/Spam-words-mots-interdits-newsletter.html
    http://www.emarketinglicious.fr/webmarketing/delivrabilite-emails-9-conseils-pas-passer-en-spam

    Merci à toi

    • w0000t ! Merci Fred pour ce retour plus que complet !

      Content que tout soit rentré dans l’ordre concernant ton SPF et ta newsletter et je suis bien content d’avoir « taper » juste dans mon précédent commentaire ^^
      Il me semblait bien que le problème venait du format du mailing et non d’un problème de configuration DNS/SPF/SERVEUR.
      Les points de « bonnes pratiques » que tu cites me semblent intéressant à prendre en compte et c’est à peu près ce que j’avais commencé à lire à ce propos sur la Toile :)

      Je souhaite longue vie à tes mailing huhu et à bientôt xD

  20. Merci pour cette article, je vais essayé de configurer cella sur mes sites internet. Au passage les utilisateurs de #ovh seront heureux de savoir que le générateur est compris dans la gestion des DNS.

  21. Bonjour et un grand MERCI pour cet excellent article !

    Pour info voici deux sites qui permettent d’établir des SPF records :
    http://www.spfwizard.net
    http://www.spfwizard.com

    J’ai un souci afin d’établir mon spf record. Si quelqu’un pouvait m’aider ce serait généreux de sa part !

    Mon site est hébergé sur un serveur qui a une adresse IP et mon mail serveur a une autre adresse IP (chez le même hébergeur).
    Dans mon tableau de bord voici ce que j’ai:
    http://www.mon-site.com A Adresse-IP-1
    mail.mon-site.com A Adresse-IP-2
    .mon-site.com MX 10 mail.mon-site.com.

    Le SPF wizard de microsoft (https://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/) me donne ceci:
    v=spf1 a mx ip4:Adresse-IP-2 ip4:Adresse-IP-1 mx:mail.mon-site.com ~all

    J’ai testé ce SPF record avec http://www.kitterman.com/ (la syntaxe ou 2eme test) et le site me « dit » que le résultat est ambigu ???
    Ce qui me laisse perplexe !!!

    Si j’utilise les SPF record wizards que j’ai donnés et bien j’obtiens :

    v=spf1 mx a ip4:Adresse-IP-1 ~all
    ou
    v=spf1 mx a ip4:Adresse-IP-2 ~all

    car je ne sais pas laquelle des deux adresses IP je dois utiliser.
    Le problème est que j’ai lu que c’est le dernier serveur qui gère les emails qui compte. Donc si le serveur d’emails transmet les emails au serveur qui gère mon nom de domaine, j’en conclue que c’est l’IP du serveur qui gère mon nom de domaine qui compte. Mais ça je n’en sais rien en fait.

    Quelqu’un a-t-il une idée ? Existe-t-il un test permettant de savoir à coup sûr ?

    En parlant de test voici un autre site bien intéressant : http://mxtoolbox.com/SuperTool.aspx?
    qui permet de faire plein de trucs et de machins dans tous les sens !

    Bon ben si vous avez une idée voire une solution je suis preneur car là je crise…

    Cordialement,
    Oxley

  22. Bonjour,

    j’étais entrain de chercher un guide sur le SPF en ligne et je tombe sur cet excellent tutoriel ! Merci pour ce travail remarquable

  23. Merci Joel pour cet article.
    Je regarde régulièrement des articles similaires en Anglais, mais je crois que tu es le seul à l’avoir fait en Français ;) Bravo !

  24. Merci beaucoup pour ce long article explicatif concernant le SPF, je voulais en apprendre plus à ce sujet et j’ai maintenant toutes les réponses qu’il me manquait ! :)

N'hésitez pas, laissez un commentaire — DoFollow activé sur ce site —


« »