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.