Le mél et le DNS

Pour router les courriers, un serveur de méls se base sur les champs de type MX du serveur de noms du domaine. Tout cela est définit par la RFC 974.

Par exemple, un message adressé à machine.domaine peut être routé vers mailhost.domaine. Ainsi, la machine mailhost.domaine reçoit tous les méls du domaine domaine, qu'il redistribue ensuite au hôtes concernés. Le seveur de noms doit alors contenir une ligne comme :

machine.domaine    IN    MX    10    mailhost.domaine

Si on veut que tous les méls adressés à login@domaine soient acceptés, il faut mettre une ligne du type :

domaine    IN    MX    10    mailhost.domaine

Les champs de type MX peuvent aussi servir pour indiquer des serveur de secours, au cas où la connexion serait temporairement coupée. Ainsi, pour envoyer un courrier à jdeuf@domaine1, si domaine1 ne répond plus, on peut demander d'envoyer le courrier à domaine2 (avec son accord) :

domaine1    IN    MX    10    mailhost.domaine
domaine2    IN    MX    20    mailhost.domaine

Les nombres 10 et 20 indiquent les priorités des sites à essayer : on tente d'abord d'envoyer un courrier à domaine1, puis à domaine2 si domaine1 ne répond pas.

Enfin, il peut être utile de mettre une entrée MX pour chaque machine. En effet, une demande d'envoi de message pour mailhost.domaine cherche d'abord un champ de type MX, puis un champ de type A en cas d'échec pour avoir l'adresse IP de mailhost.domaine. Si le champ de type MX existe, il n'y aura plus qu'une seule requête DNS au lieu de deux :

mailhost.domaine    IN    MX    0    mailhost.domaine