"Le principe est d’interroger le serveur DNS du domaine de l’émetteur du
message, pour lui demander le champ TXT associé au domaine. Dans le cadre de
SPF, ce champ contient la liste des serveurs autorisés à émettre un message pour le
domaine en question. De cette manière, le serveur destinataire peut s’assurer que le
message a bien été émis par un serveur « autorisé à émettre » par rapport au
domaine de l’expéditeur."
Si on envoi des mails @neuf.fr depuis mon serveur, la vérification SPF se fera sur le nom de domaine déclaré dans postfix (et qui correspond au reverse DNS de mon serveur) ou neuf.fr ?
Si la vérification porte sur neuf.fr, Cela veut dire aussi qu'un abonné neuf qui se connecte sur une connexion Free (et donc utilisant smtp.free.fr) , risque de se voir rejeté par certains destinataires utilisant SPF ?
(qui on est en déplacement, on garde son pop mais on met toujours le smtp de FAI qui nous fournis internet)
La vérification 'SPF' est la suivante :
Le serveur A d'IP a.b.c.d se connecte à un serveur B (utilisant SPF) pour lui envoyer un message.
Le serveur B analyse l'adresse email de l'émetteur ('MAIL FROM' smtp, utilisé pour le 'return-path')
A partir de cette adresse mail, il extrait le nom de domaine et interroge les DNS pour obtenir un enregistrement TXT 'SPF'.
Si cet enregistrement n'existe pas, on accepte le message
Si cet enregistrement existe, il indique quels sont les serveurs autorisés à envoyer pour le compte du domaine de l'email de l'émetteur.
Pour chaque entrée de cet enregistrement SPF, il y a résolution de l'IP correspondante (ou directement l'ip elle même) et chacune est ensuite comparée avec l'adresse IP a.b.c.d du serveur A (peut importe donc ce que donne le 'reverse' de l'IP a.b.c.d).
S'il y a correspondance entre l'IP a.b.c.d et les IP déterminées via le champs SPF, alors c'est bon, on laisse passer.
Dans le cas contraire, on rejete la connection du serveur A.
Ici, les serveurs de Neuf.fr renvoient l'enregistrement SPF suivant :
"v=spf1 ip4:84.96.92.0/26 ip4:84.96.92.96/27 ?all"
v=spf1 -> signature d'un enregistreme 'SPF' en version de 'language de description v1'
Deux blocs d'adresses IP sont définie dans cet enregistrement SPF :
ip4:84.96.92.0/26 -> soit les adresses IP de 84.96.92.0 à 84.96.92.63
ip4:84.96.92.96/27 -> soit les adresses IP de 84.96.92.96 à 84.96.92.127
Seuls donc les serveurs smtp dont l'ip est dans une de ces deux plages sont autorisés à envoyer des mail dont l'émetteur est @neuf.fr
Ensuite vient modifier cette interprétation le dernier 'flag' de l'enregistrement SPF, à savoir le "all" qui définie comment réagir si l'IP de l'emetteur n'est pas dans la liste. Comme c'est un peu long à expliquer ici, ceux qui sont intêressés pourront lire la norme (en anglais désolé) ici :
http://tools.ietf.org/html/rfc4408