Les nouveaux services de messagerie électronique

La fiabilisation

Les accusés de réception : MDN RFC3798

Un MDN (Message Disposition Notifications) est un accusé de réception dont il est possible de faire la demande à l'envoi d'un courriel lorsque l'on dispose d'un client de messagerie qui supporte cette extension. A la suite de cette demande, le courriel est envoyé avec une entête supplémentaire "Disposition-Notification-To:" suivie d'une adresse mail (généralement l'adresse de l'auteur du courriel). On remarque qu'il existe aussi l'entête "Return-Receipt-To:" qui est relativement utilisé bien qu'elle ne soit pas normalisée. Lorsque le destinataire affichera le courriel, il se verra indiqué qu'une demande d'accusé de réception a été effectuée pour ce courriel si son client de messagerie supporte cette extension. Il aura alors le choix d'accepter ou de refuser l'envoi de cet accusé.

Suivant le type de MDN demandé lors de l'envoi du courriel, plusieurs types d'informations peuvent être récupérées. La plus connue est la notification de lecture du courriel par le destinataire, mais cette extension prévoit également une notification si le courriel a été supprimé avant d'être lu.

L'avantage de ce procédé est qu'il se situe au niveau des entêtes du courriel ce qui rend totalement transparent pour les MTA qui relaient le courriel (ils ne sont pas contraints de supporter cette extension pour que le service fonctionne). Tout le fonctionnement est réalisé du côté des clients de messagerie. Ces derniers doivement cependant nécessairement supporter cette extension (le client de l'expéditeur pour proposer le service et ajouter l'entête, le client du destinataire pour prendre en compte l'entête à la réception). Le point faible de ce mécanisme vient du fait que l'on ne peut obliger le destinataire à renvoyer l'accusé de réception. En effet, pour des raisons de vie privée et afin de rester compatible avec l'ensemble des systèmes en place, les réponses aux MDN ne sont pas obligatoires et les destinataires sont libres de les ignorer

L'illustration suivante explique basiquement le fonctionnement des MDN :

  1. Un courriel est envoyé avec une demande de notification MDN à la lecture à partir d'un MUA (client de messagerie)
  2. Le courriel est envoyé au MTA du domaine de l'expéditeur
  3. Les MTA se relayent le courriel entre eux jusqu'à ce que ce dernier atteigne le MTA rattaché au domaine du destinataire.
  4. Le courriel est ensuite déposé dans la boîte aux lettres du destinataire. Lorsque celui-ci ouvrira le message une demande de renvoi de notification lui sera soumise.
  5. Dans le cas où le destinataire accepte le renvoi de la notification, son MUA se charge de générer une notification MDN contenant l'information comme quoi le courriel a bien été affiché. Cette notification est alors envoyé à l'adresse mail de l'expéditeur (basé sur la valeur de l'entête Disposition-Notification-To:)
  6. La notification MDN est ensuite relayée comme tout courriel normal jusqu'à destination.
  7. L'expéditeur peut alors ouvrir cette notification afin de vérifier l'état du courriel qu'il a envoyé.

Les avis de livraison : DSN RFC3461

Un DSN (Delivery Status Notification) est un avis de remise dont il est possible de faire la demande lors de l'envoi d'un courriel. Pour cela, il faut tout d'abord disposer d'un MUA supportant cette extension afin qu'il en fasse la demande lors de la connexion avec le MTA. Un DSN est une notification qui permet à l'expéditeur de demander au MTA chargé d'acheminer son courriel de lui renvoyer des notifications en fonction de la réussite ou non de la remise du message.

La demande de DSN peut être paramétrée :

L'avantage des notifications de type DSN est que leur utilisation est tout à fait transparente pour le destinataire. Au contraire des MDN, avec les DSN ce dernier n'a pas la possibilité de refuser l'envoi de la notification retour. En effet, ce procédé opère au niveau enveloppe du courriel. C'est lors de la commande "RCPT TO:" que l'on va pouvoir préciser des paramètres signalant une demande de DSN.

Exemple : RCPT TO: support@about.com NOTIFY=SUCCESS,FAILURE,DELAY
Ici l'on demande à être informé en cas de réussite de livraison, d'echec ou encore d'abandon dû à un délai trop long.

Ce dipositif sera ensuite répercuté entre les MTA lors de la transmission du courriel. Dès le dépôt du courriel dans la boîte aux lettres du destinataire, le MTA génère alors la notification DSN et la renvoie à l'expéditeur.

Le gros soucis de ce mécanisme vient du fait que l'ensemble des MTA par lesquels va transiter le courriel doivent impérativement supporter les DSN. Il suffit en effet qu'un seul MTA de la chaîne ne supporte pas cette extension pour que la demande de DSN soit mise en erreur. De plus le MUA doit également supporter ce procédé afin de pouvoir en faire la demande lors de l'envoi du courriel. L'utilisation des DSN est donc à privilégier pour un milieu maitrisé (exemple : réseau local).

  1. Un courriel est envoyé avec une demande de notification DSN en cas de livraison réussite à partir d'un MUA (client de messagerie)
  2. Le courriel est envoyé au MTA du domaine de l'expéditeur. La demande de DSN est transmise lors de l'envoi de l'enveloppe du courriel sous condition que ledit MTA est indiqué qu'il supporte les DSN lors de la connexion
  3. Les MTA se relayent le courriel entre eux jusqu'à ce que ce dernier atteigne le MTA rattaché au domaine du destinataire. Ils se relayent également la demande de DSN au niveau enveloppe sous condition que chacun la supportent.
  4. Le courriel est ensuite déposé dans la boîte aux lettres du destinataire. Dès lors le MTA génère et renvoi une notification DSN indiquant que le courriel a correctement été délivré au destinataire.
  5. La notification DSN est ensuite relayée comme tout courriel normal jusqu'à destination.
  6. L'expéditeur peut alors ouvrir cette notification afin de vérifier l'état du courriel qu'il a envoyé.

VERP

VERP : Variable Envelope Return Path (Draft )

Le VERP est une technique basée sur la valeur du return-path. Elle sert principalement à permettre la détection de destinataire d'un courriel en erreur dans un contexte de liste de diffusion. Lorsque la livraison type VERP est demandée, chaque destinataire d'un message reçoit une copie personnalisée de ce message, avec sa propre adresse de destination encodée dans l'adresse d'expédition de l'enveloppe. Le procédé oblige donc le MUA a créer une enveloppe pour chaque destinataire d'un courriel.

Généralement lorsqu'un courriel est envoyé à une liste de diffusion contenant plusieurs destinataires, le message est envoyé au MTA dans une même enveloppe. Lorsqu'un de ces destinataires n'est pas joignable, un bounce (DSN de type FAILURE) est alors généré par un MTA et retourné à l'expéditeur. Or ce dernier ne permettra pas de retrouver le destinataire en erreur dans ce cas.

Par exemple, lorsqu'une livraison de type VERP est demandée, le MTA delivre le message avec comme expéditeur "nom-de-la-liste@origine" pour un destinataire "user@domain", avec l'adresse d'expédition encodant le destinataire comme cela :

owner-listname+user=domain@origin

Ainsi, le courrier non livrable peut révéler l'adresse de destination non livrable sans imposer au propriétaire de la liste de traiter les rejets. Lors de l’envoi du message, on spécifie dans la commande « Mail From: » l’adresse du destinataire concaténée avec celle de l’émetteur. Le but étant de retrouver de quel destinataire vient l’erreur lors d’un envoi à une liste de diffusion (son adresse sera présente dans le champs To: )

Voici un autre exemple illustrant cette technique :

envelope sender: wikipedians-owner-bob=example.org@example.net
destinataire: bob@example.org
Le bounce:
envelope sender: empty
destinataire: wikipedians-owner-bob=example.org@example.net

ENVID (RFC 3461)

L'ENVID pour Envelope Identifier est une technique basée sur l'enveloppe d'un courriel. Elle a pour but d'assurer la correlation des messages d'erreurs retournés avec les courriels envoyés. L'ENVID permet, lors de l'envoi d'un courriel, de marquer le courriel au niveau enveloppe. C'est une option ESMTP à préciser lors de la commande « Mail From: ».

Après avoir envoyé un courriel avec un marquage ENVID, si un DSN d’erreur revient, alors ce dernier contiendra un champ :

Original-Envelope-ID: QQ314159
Ce champ permettra d'identifier clairement le courriel correspondant.

Valid XHTML 1.0 Strict