Les agents de délivrance (MUA)
Sendmail fait partie de la classe MTA; Il n'est pas destiné à délivrer directement le courrier et laisse cette tâche à d'autres programmes (Procmail, mail.local, Fetchmail,...). La règle 0 appelle le mailer local (MUA) et lui transmet l'adresse email ( cf règle 0). L'adresse passée à la règle 0 est réécrite et retourne en final un triplet composé du nom symbolique du mailer (local, smtp, esmtp, smtp8, etc..) du nom de machine (ou adresse IP) du serveur à qui est destiné cette adresse et de l'adresse elle-même.
Mailer local
En reprenant l'exemple décrit dans le paragraphe de la règle 0:
R$+ $#local $@localhost $: $1
nom symbolique nom de machine destinataire du mail adresse email envoyée
L'adresse ($: $1) est passée à l'agent de délivrance symbolique "local" detiné à la machine localhost.
Le dialogue entre Sendmail et cet agent est décrit un peu plus bas dans le fichier de configuration sendmail.cf:
Mlocal, P=/usr/libexec/mail.local, F=lsDFMAw5:/|@qPrmn9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL#local T=DNS/RFC822/X-Unix, A=mail -d $u
Le nom symbolique "local" dans la règle 0 définit en fait le programme /usr/libexec/mail.local. Sendmail peut accepter plusieurs agents de délivrance. Si vous souhaitez voir les agents installés dans votre fichier de configuration :
hendrix# /usr/sbin/sendmail -bt
P= correspond au programme appelé (chemin absolu).
F= Les flags fournissent des informations sur la manière dont le MUA (mail.local) devra se comporter (.
S= et R= Règles de réécritures après la règle 0 et avant de transférer le courrier au MUA.
T= Utiliser pour apporter des informations sur le type de MUA et apporter des informations DSN ( Data Status Notification).
A= Spécifie des arguments à passer au Mailer en plus de l'adresse email. Par exemple pour le MUA procmail:
A=procmail -Y -a $h -d $u
$u est l'adresse email (arno par exemple) $h est un nom d'hôte (mail.decaservices.com par exemple).
Si vous recherchez un MUA local, voiçi quelques MUAs et leurs caractéristiques: http://www.decaservices.com/docs/sendmail/mua.html
MTA distant:
Ici encore c'est la règle 0 qui détermine le destinataire mais cette fois le mail doit être routé vers un MTA distant:
R$+ $#esmtp $@mailwebimmos.decaservices.com $: $1
nom symbolique nom de machine destinataire du mail adresse email envoyée
L'adresse ($: $1) est passée à l'agent de délivrance symbolique "esmtp" detiné à la machine mailwebimmos.decaservices.com.
Mesmtp, P=[IPC], F=mDFMuXa, S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP/HdrFr omSMTP,E=\r\n, L=990,
T=DNS/RFC822/SMTP, A=TCP $h
Les règles symboliques EnvFromSMTP, HdrFromSMTP, EnvToSMTP et HdrFromSMTP (car en fait correspondent à des nombres réservés) peuvent réécrire les adresses Enveloppe et En-têtes des adresses sources et destinations. [IPC] est le type de communication inter-processus utilisé par Sendmail pour que le mail soit ensuite renvoyé via TCP/IP par exemple.