Syntaxe d'enregistrement SPF

Vous pouvez afficher le contenu de votre enregistrement SPF en utilisant notre Outil d'enquête SPF.

Les enregistrements SPF peuvent contenir zéro ou plus mécanismes, utilisés pour décrire l’ensemble des hôtes désignés comme expéditeurs de courrier sortant pour le domaine.

Les enregistrements SPF peuvent également définir modificateurs. Chaque modificateur ne peut apparaître qu'une seule fois.

Mécanismes

Des mécanismes peuvent être utilisés pour décrire l'ensemble des hôtes désignés comme expéditeurs de courrier sortant pour le domaine et pouvant être précédés de l'un des quatre qualificateurs suivants:

+ (Passer)
- (Échouer)
~ (SoftFail)
? (Neutre)

Si un mécanisme aboutit, sa valeur de qualificateur est utilisée. Le qualificatif par défaut est “+“, C'est à dire“ Pass ”.

Les mécanismes sont évalués dans l'ordre. Si aucun mécanisme ou modificateur ne correspond, le résultat par défaut est «Neutre».

exemples:

"V = spf1 -all"

"V = spf1 a -all"

"V = spf1 a mx -all"

"V = spf1 + a + mx -all"

Si un domaine n'a pas d'enregistrement SPF, le résultat est «Aucun». Si un domaine a une erreur temporaire pendant le traitement DNS, vous obtenez le résultat «TempError» (appelé «erreur» dans les brouillons précédents). Si un type d'erreur de syntaxe ou d'évaluation se produit (par exemple, le domaine spécifie un mécanisme non reconnu), le résultat est «PermError» (anciennement «inconnu»).

L'évaluation d'un enregistrement SPF peut renvoyer l'un des résultats suivants:

Le résultat Explication Action prévue
Passer L'enregistrement SPF désigne l'hôte à autoriser à envoyer accepter
Échouer L’enregistrement SPF a désigné l’hôte comme NON autorisé à envoyer rejeter
SoftFail L'enregistrement SPF a désigné l'hôte comme NON autorisé à envoyer mais est en transition. accepter mais marquer
Nuances neutres L'enregistrement SPF spécifie explicitement que rien ne peut être dit sur la validité accepter
Aucun Le domaine n'a pas d'enregistrement SPF ou l'enregistrement SPF n'est pas considéré comme un résultat. accepter
PermError Une erreur permanente est survenue (par exemple, enregistrement SPF mal formaté) non spécifié
TempError Une erreur transitoire s'est produite accepter ou rejeter

Le mécanisme "tout"

tout

Ce mécanisme correspond toujours. Cela se passe généralement à la fin de l'enregistrement SPF.

exemples:

"V = spf1 mx -all"
Autoriser les MX du domaine à envoyer du courrier pour le domaine, interdire tous les autres.

"V = spf1 -all"
Le domaine n'envoie aucun courrier.

“V = spf1 + all”
Le propriétaire du domaine pense que SPF est inutile et / ou s'en moque.

Le mécanisme "ip4"

ip4: <adresse ip4>
ip4: <réseau ip4> / <longueur du préfixe>

L'argument du mécanisme «ip4:» est une plage de réseau IPv4. Si non plongueur de refix est donné, / 32 est supposé (en choisissant une adresse d’hôte individuelle).

exemples:

"V = spf1 ip4: 192.168.0.1 / 16 -all"
Autoriser toute adresse IP entre 192.168.0.1 et 192.168.255.255.

Le mécanisme "ip6"

ip6: <adresse ip6>
ip6: <réseau ip6> / <longueur du préfixe>

L'argument du mécanisme «ip6:» est une plage de réseau IPv6. Sinon longueur-préfixe est donné, / 128 est supposé (en choisissant une adresse d’hôte individuelle).

exemples:

“v=spf1 ip6:1080::8:800:200C:417A/96 -all”
Autorisez toute adresse IPv6 comprise entre 1080 :: 8: 800: 0000: 0000 et 1080 :: 8: 800: FFFF: FFFF.

“v=spf1 ip6:1080::8:800:68.0.3.1/96 -all”
Autorisez toute adresse IPv6 comprise entre 1080 :: 8: 800: 0000: 0000 et 1080 :: 8: 800: FFFF: FFFF.

Le mécanisme "a"

a
a / <longueur-préfixe>
a: <domaine>
a: <domaine> / <longueur-préfixe>

Tous les enregistrements A pour domaine sont testés. Si l'adresse IP du client se trouve parmi eux, ce mécanisme correspond. Si la connexion est établie via IPv6, une recherche AAAA est effectuée à la place.

If domaine n'est pas spécifié, le domaine actuel est utilisé.

Les enregistrements A doivent correspondre exactement à l'adresse IP du client, à moins qu'un longueur-préfixe est fourni. Dans ce cas, chaque adresse IP renvoyée par la recherche A sera étendue au préfixe CIDR correspondant et l’adresse IP du client sera recherchée dans ce sous-réseau.

exemples:

"V = spf1 a -all"
Le domaine actuel est utilisé.

"V = spf1 a: example.com -all"
Équivalent si le domaine actuel est exemple.com.

"V = spf1 a: mailers.example.com -all"
Par exemple, exemple.com a choisi de répertorier explicitement tous les expéditeurs sortants dans un enregistrement A spécial sous mailers.example.com.

"V = spf1 a / 24 a: offsite.example.com/24 -all"
Si example.com résout en 192.0.2.1, la classe entière de 192.0.2.0 / 24 sera recherchée pour l’IP du client. De même pour offsite.example.com. Si plusieurs enregistrements A étaient renvoyés, chacun d'entre eux serait étendu à un sous-réseau CIDR.

Le mécanisme "mx"

mx
mx / <longueur-préfixe>
mx: <domaine>
mx: <domaine> / <longueur du préfixe>

Tous les enregistrements A pour tous les enregistrements MX de domaine sont testés par ordre de priorité MX. Si l'adresse IP du client se trouve parmi eux, ce mécanisme correspond.

If domaine n'est pas spécifié, le domaine actuel est utilisé.

Les enregistrements A doivent correspondre exactement à l'adresse IP du client, sauf si une longueur de préfixe est fournie. Dans ce cas, chaque adresse IP renvoyée par la recherche A sera étendue au préfixe CIDR correspondant, et l'adresse IP du client sera recherchée dans ce sous-réseau.

exemples:

"V = spf1 mx mx: deferrals.domain.com -all"
Peut-être qu'un domaine envoie des messages via ses serveurs MX, ainsi qu'un autre ensemble de serveurs dont le travail consiste à réessayer le courrier pour différer des domaines.

"V = spf1 mx / 24 mx: hors site.domaine.com/24 -all"
Peut-être que les serveurs MX d'un domaine reçoivent du courrier sur une adresse IP, mais envoient du courrier sur une adresse IP différente mais proche.

Le mécanisme "ptr"

ptr
ptr: <domaine>

Le ou les noms d'hôte de l'IP du client sont recherchés à l'aide de requêtes PTR. Les noms d’hôte sont ensuite validés: au moins un des enregistrements A pour un nom d’hôte PTR doit correspondre à l’IP du client d’origine. Les noms d'hôte non valides sont supprimés. Si un nom d'hôte valide se termine par un domaine, ce mécanisme correspond.

Si le domaine n'est pas spécifié, le domaine actuel est utilisé.

Dans la mesure du possible, évitez d'utiliser ce mécanisme dans votre enregistrement SPF, car cela entraînerait un plus grand nombre de recherches DNS coûteuses.

exemples:

"V = spf1 ptr -all"
Un domaine qui contrôle directement toutes ses machines (contrairement à un FAI haut débit ou à distance) permet à tous ses serveurs d'envoyer du courrier. Par exemple, hotmail.com ou paypal.com peut le faire.

"V = spf1 ptr: otherdomain.com -all"
Tout serveur dont le nom d'hôte se termine par otherdomain.com est désigné.

Le mécanisme "existe"

existe: <domaine>

Effectuer une requête A sur le domaine fourni. Si un résultat est trouvé, cela constitue une correspondance. Peu importe le résultat de la recherche, il peut s'agir de 127.0.0.2.

Lorsque vous utilisez des macros avec ce mécanisme, vous pouvez effectuer des recherches IP inversées de style RBL ou configurer des exceptions par utilisateur.

exemples:

Dans l'exemple suivant, l'adresse IP du client est 1.2.3.4 et le domaine actuel est example.com.

"V = spf1 existe: exemple.com -all"

Si example.com ne se résout pas, le résultat est un échec. Si cela se résout, ce mécanisme donne lieu à une correspondance.

Le mécanisme d'inclusion

inclure: <domaine>

Le spécifié domaine est recherché pour une correspondance. Si la recherche ne renvoie pas de correspondance ou d'erreur, le traitement passe à la directive suivante. Attention,: Si la domaine n’a pas d’enregistrement SPF valide, le résultat est une erreur permanente. Certains destinataires de courrier rejetteront en fonction d'un PermError.

exemples:

Dans l'exemple suivant, l'adresse IP du client est 1.2.3.4 et le domaine actuel est example.com.

"V = spf1 include: example.com -all"

Si example.com n'a pas d'enregistrement SPF, le résultat est PermError.
Supposons que les enregistrements SPF d’exemple.com soient "V = spf1 a -all".
Recherchez l'enregistrement A pour example.com. Si cela correspond à 1.2.3.4, renvoyez Pass.
S'il n'y a pas de correspondance, autre que «-all» du domaine inclus, l'inclusion dans son ensemble ne correspond pas; le résultat éventuel est toujours Echec de la directive externe définie dans cet exemple

Relations de confiance - Le mécanisme «inclure:» vise à dépasser les frontières administratives. Il faut faire très attention à ce que les mécanismes «inclure» ne mettent pas les domaines en danger de donner des résultats SPF Pass aux messages résultant d'une falsification entre utilisateurs. À moins que des mécanismes techniques ne soient en place au niveau de l'autre domaine spécifié pour empêcher la falsification entre utilisateurs, les mécanismes "inclure:" doivent donner un résultat Neutre plutôt que Passe. Ceci est fait en ajoutant “?” Devant “include:”.

L'exemple serait alors:

"V = spf1? Include: example.com -all"

Modificateurs

Les modificateurs sont facultatifs. Un modificateur peut apparaître une seule fois par enregistrement. Les modificateurs inconnus sont ignorés.

Le modificateur "redirection"

redirection = <domaine>

L'enregistrement SPF pour domaine remplacer l'enregistrement en cours. La macro élargie domaine est également substitué à la domaine actuel dans ces recherches.

exemples:

Dans l'exemple suivant, l'adresse IP du client est 1.2.3.4 et le domaine actuel est example.com.

“V = spf1 redirect = example.com”

Si example.com n'a pas d'enregistrement SPF, il s'agit d'une erreur. le résultat est inconnu.
Supposons que le fichier SPF d’exemple.com soit "V = spf1 a -all".
Recherchez l'enregistrement A pour example.com. Si cela correspond à 1.2.3.4, renvoyez Pass.
S'il n'y a pas de correspondance, l'exécutable échoue et la valeur -all est utilisée.

Le modificateur "exp"

exp = <domaine>

Si un destinataire SMTP rejette un message, il peut inclure une explication. Un éditeur SPF peut spécifier la chaîne d'explication que les expéditeurs voient. De cette manière, un fournisseur de services Internet peut diriger les utilisateurs non conformes vers une page Web contenant des instructions supplémentaires sur la configuration de SASL.

Le domaine est étendu; une recherche TXT est effectuée. Le résultat de la requête TXT est ensuite développé en macro et montré à l'expéditeur. D'autres macros peuvent être utilisées pour fournir une explication personnalisée