64
1 La messagerie électronique Exemple de la messagerie Internet

Cours Messagerie

  • Upload
    okok

  • View
    264

  • Download
    3

Embed Size (px)

DESCRIPTION

Cours_messagerie.ppt

Citation preview

  • *

    La messagerie lectronique Exemple de la messagerie Internet

  • *Plan du cours messagerieIntroduction1 Architecture de la messagerie Internet2 Les protocoles SMTP et ESMTP3 Le format des messages MIME4 Les protocoles de relve de courrier : pop3 et imap4.5 Implantations de la messagerie InternetConclusion

  • *

    Introduction

  • *Notion de service de messagerieA la base un service dchange de textes courts (un transfert lectronique de fichiers caractres ASCII).

    Extension des transferts de fichiers quelconques (en structure et en contenu)le plus souvent avec une limitation sur la taille du fichier. le plus souvent par un encodage en format caractre.

    Transmission asynchrone : lmetteur et le rcepteur nont pas a tre connect en mme temps.

    Terminologie : courrier lectronique, courriel, ml (mail, email).

  • *Fonctions dun service de messagerieFonctions de dsignation: dfinition dun systme dadressage, envoi un destinataire ou un groupe.

    Fonctions de composition de courrier.

    Fonctions dmission du courrier.

    Fonctions de lecture du courrier : notion de files dattente de courriers ou boites lettres.

    Fonctions de gestion des archives de courriers.

  • *Service de messagerie et service de transfert de fichiersDistinction entre un service de messagerie et un service de transfert de fichiers.En fait des similitudes ou des distinctions selon toutes les fonctions :de transmission asynchrone,de transmission en binaire ou en caractres,de composition des documents (courriers/fichiers), de taille des donnes changes, de dsignation,de gestion des archives.

  • *Service de messagerie et service de communication en mode messageDistinction entre un service de messagerie et un service de communication orient messages (MOM middleware orient messages).

    En fait des similitudes ou des distinctions selon toutes les fonctions de dsignation, de composition de messages, dmission et de rception .de transmission asynchrone,de transmission en binaire ou en caractres,de composition des documents (courriers/messages), de taille des donnes changes, de dsignation,de gestion des archives.

  • *

    1 Architecture des systmes de messagerie

  • *Architectures de messagerie : I) Stockage et retransmission

    MTA1UsagerMUARseau maill de MTAMTA2MTA5MTA6MTA4MTA3UsagerMUALa messagerie ralise l'acheminement des courriers comme le fait un rseau commutation de paquets.

  • *Complments: Stockage et retransmission Notion de serveur de messagerie et commutateur de courriers: agent de transfert de messages MTA ('Mail Transfer Agent'). Notion de client de messagerie : agent utilisateur de messagerie ou MUA (Mail User Agent).Exemplede messagerie avec commutation : la messagerie normalise OSI MHS 'Message Handling System' ou norme ITU X400.

  • *Architectures de messagerie : II) Acheminement de bout en bout

    Le serveur de messagerie MTA achemine directement un message entre un metteur et un destinataire.Pour cela il utilise un service de transport existant (typiquement TCP). Un courrier est achemin comme segments de niveau transport). Exemple: la messagerie Internet SMTP (forme de base).MTAMUAmetteurMTAMUAdestinataireRseau(Internet)

  • *Comparaison des deux approchesAcheminement de bout en bout

    Un serveur de courrier utilise une connexion de bout en bout (transport) pour remettre ses messages => fiable et simple (si lon dispose dune couche transport fiable comme TCP).

    Stockage et retransmission

    Problme de routage des messages et aussi contrle derreur rgler (le bruit sur les liaisons ou les pannes des MTA intermdiaires peuvent provoquer des pertes de messages).Un atout : facilite linterconnexion avec dautres systmes de messagerie comme CSNET, BITNET, ...

    Situation actuelle: triomphe de la solution de bout en bout (avec la messagerie Internet).

  • *Architecture modulaire dun systme de messagerie Internet

  • *Dtail des tapes (1)Etape 1: Un usager compose,avec laide de son client de messagerie (MUA) un message.Etape 2: Le message est transmis au MTA de lusager ( son serveur de messagerie en SMTP).Etape 3: Le message est transmis au serveur de messagerie du destinataire (SMTP).Etape 4: Le serveur transmet le message un agent: notion dagent MDA Mail Delivery Agent.

  • *Dtail des tapes (2)Etape 5: Le MDA stocke le courrier dans la boite lettres du destinataire.Etape 6: Sur requte du destinataire dans le cadre dun protocole de relve POP ou IMAP les messages sont extraits de la boite lettre par un agent : MAA (Mail Access Agent).Etape 7: Les messages sont transmis au client de messagerie utilisateur (protocoles POP ou IMAP). Il sont stocks dans des boites lettre client.Etape 8: Le destinataire consulte ses messages en utilisant son client de messagerie (MUA).

  • *Les protocoles de messagerie de lInternetSimple Mail Transfer Protocol (SMTP) (RFC 821) : Le protocole bas sur des messages de format textes qui dfinit les changes entre serveurs de messagerie.Extended Simple Mail Transfer Protocol (ESMTP) (RFC 1869): Une volution de SMTP qui dfinit des commandes supplmentaires.Post Office Protocol (POP) : Un protocole de base de relve de courrier pour le dialogue entre un client de messagerie MUA et un serveur de messagerie dans sa partie MAA.Internet Message Access Protocol (IMAP): Un autre protocole de relve qui offre des possibilits plus larges que POP (gestion des archives de courrier, limitation des volumes de donnes changes )

  • *

    2 Le protocole SMTP(Simple Mail Transfer Protocol)

  • *Les adresses globales de courrier lectronique Internet (RFC 2821 et 2822)Les adresses dans le service de messagerie (metteurs ou destinataires) sont des couples:

    (Nom de bote aux lettres , Nom du domaine DNS ou est gre la boite lettre).Le systme de noms de domaines (DNS) permet de dterminer les serveurs de courrier dun domaine (enregistrement de type MX). Les noms utilisables pour les boites aux lettres sont quelconques (taille infrieure 64 octets).

    [email protected] Bote aux lettres Domaine DNS

  • *Syntaxe des adresses globalesgerard @ cnam.fr : La forme la plus simple

    "gerard"@cnam.fr : Avec des guillemets pour dlimiter la chane de caractres boite lettres.

    gerard (Grard Florin) @cnam.fr : Une chane entre parenthses est un commentaire donc ignore.

    Grard Florin : En fait seul compte ce qui est entre < et >. Le reste est ignor.

    [email protected] : Forme dadresse dite littrale avec directement code ladresse IP du serveur.

  • *Adresses avec relayage explicite (routage par la source)Envoyer un courrier gerard au CNAM en le faisant passer par le serveur de courrier de ibp.fr tout dabord puis par celui de uvsq.fr. Deux syntaxes possibles :

  • *Le mode client-serveur en SMTP (RFC 821)SMTP(Simple Mail Transfer Protocol): un protocole client serveur entre deux MTA.Le client souhaite transmettre un courrier au serveur pour quil le distribue.Rponses SMTPCommandes SMTPFiles dattente de courriersMTAClient

    MTAServeur

  • *Exemple type de transmission d'un courriersun% mail -v [email protected]@artemis... Connecting to artemis.ibp.fr (TCP)...220 artemis.ibp.fr Sendmail 3.2/SMI-3.2 ready at Sun, 4 Mar 99 17:24:07 PST>>> HELO litp.ibp.fr250 artemis.ibp.fr HELO litp.ibp.fr, pleased to meet you>>> MAIL From:250 ... Sender ok>>> RCPT To:250 ... Recipient ok>>> DATA354 Enter mail, end with "." on a line by itself>>> Ceci est un essai.250 Mail accepted>>> QUIT221 artemis.ibp.fr delivering maileh@artemis... Sentsun%

  • *Les diffrents types de requtes client SMTPChaque requte (un message du protocole SMTP) correspond une ligne de texte termine par CRLF (carriage return code 13 et line feed code 10).HELO Louverture de session entre le client et le serveur (le message contient le nom de domaine FQDN du client). MAIL FROM: Dfinit l'adresse mail de l'metteur (utilis pour le retour ventuel d'erreurs).RCPT TO: Dfinit l'adresse dun destinataire (le routage du courrier est possible en donnant une liste de MTA visiter: routage par la source @Hote_1,@ Hote_2:usager@ Hote_3)DATA Dfinit l'enveloppe (l'entte) et le corps (le texte) du message.QUIT Termine un courrier.

  • *Diffrents types de requtes annexesRSET: Commande pour abandonner le courrier en cours de transmission et restaurer la connexion.VRFY: Commande pour vrifier une adresse de destinataire sans lui transmettre de courrier (utilisable pour dterminer la cause dun problme).NOOP: Commande vide qui oblige simplement le serveur rpondre 200 OK.EXPN: Expansion dune liste de diffusion (mailing list).TURN: Inversion des rles client et serveur pour envoyer du courrier dans lautre sens sans ouvrir une nouvelle connexion TCP.

  • *Diffrents types de rponses serveurCode rponse (trois chiffres dcimaux) et explication textuelle.xyz xyz: Type de rponse en numrique1yz:Positif, a suivre2yz:Requte satisfaite5yz:Rponse ngativex0z:Syntaxex2z:Etat de la connexionx5z:Etat du systme de messagerietexte:Explications en clair

    En cas de problme dans un courrier, interprter le code derreur et son explication. Si le problme est srieux, faire suivre ladministrateur de courrier (postmaster).

  • *Une liste des principales rponses211 System status, or system help reply 214 Help message [Information on how to use] 220 Service ready 221 Service closing transmission channel 250 Requested mail action okay, completed251 User not local; will forward to 354 Start mail input; end with . 421 Service not available, closing channel 451Requested action aborted: local error in processing 452 Requested action not taken: insufficient storage 500 Syntax error, command unrecognized 501Syntax error in parameters or arguments 502 Command not implemented503 Bad sequence of commands504 Command parameter not implemented550 Requested action not taken: mailbox unavailable [E.g., mailbox not found, no access] 551 User not local; please try 552 Requested mail action aborted: exceeded storage allocation553 Requested action not taken: mailbox name not allowed [E.g., mailbox syntax incorrect] 554 Transaction failed

  • *Approfondissement: le protocole ESMTP (Extended SMTP) (1)EHLO (RFC 1651) Ouverture de session entre un client et un serveur en mode ESMTP. Rponse : liste des extensions supportes par le serveur.8BITMIME (RFC 1652) Dfinit un encodage en caractres 8 bits au lieu de 7: MAIL FROM: BODY=8BITMIME.CHUNKING : (RFC 1830) Permet de transmettre par morceaux.BINARYMIME (RFC 1830) Permet de transmettre des donnes binaires. Exemple : BODY=BINARYMIME le courrier est en binaire et est introduit par BDAT au lieu de DATA.ETRN (RFC 1985) Permet denvoyer un message sur plusieurs connexions TCP successives.

  • *Approfondissement: le protocole ESMTP (Extended SMTP) (2)DSN (RFC 1891, 1892, 1894) (Delivery Service Notification) Dfinit un systme daccus de rception pour les courriers lectroniques MAIL FROM: xxx RET=portion_retourne ENVID=ident RCPT TO: yyy NOTIFY=motif ORCPT=adresse retourSIZE (RFC 1870) Dfinit une taille pour un courrier MAIL FROM: xxx SIZE=nnnnnPIPELINING (RFC 2197) Pour enchaner plusieurs commandes SMTP sans attendre la rponse.AUTH (RFC 2554) Introduit une authentification de lmetteur dun message.CHECKPOINT (RFC 1845) Permet de crer des transactions de transmission de courrier reprenables en cas de panne MAIL FROM: xxx TRANSID=yyyyy

  • *

    3 Le format des courriers et le format MIME

  • *Le format de base (RFC 822)Un courrier est compos de lignes de caractres US-ASCII sur 7bits selon la dfinition du NVT Telnet.Chaque ligne fait au maximum 1000 caractres et est termine par CR LF.Les courriers sont en deux partie : une entte et un corps spars par une ligne vide.Lentte est une liste de lignes prcisant les caractristiques du message sous la formeNom_de_zone: Valeur_de_zoneLe corps contient les donnes effectivement changes.

  • *Un premier exemple simpleDelivered-To: [email protected]: Thu, 21 Mar 2002 15:15:39 +0100From: Bruno Traverson Organization: EDF-DERX-Accept-Language: frMIME-Version: 1.0To: [email protected]: TRAVERSON Bruno Subject: Un premier retour sur le modle

    Corps du courrier lectronique

  • *LentteAu moins trois lignes obligatoires:From: adresse metteurTo: adresse destinataireDate: date de cration du messageNombreuses autres possibilits normalises mais facultatives :Possibilit de crer des enttes propritaires condition de les faire prcder de X-

  • *Quelques champs de lentteEnttes normalises facultatives Received: Une information sur le chemin suivi.Reply-To: Une adresse pour la rponse.Subject: Le sujet du message.Message-ID: un identifiant unique du message.Enttes prives (commenant par x-)X-Phone: Un numro dappel.X-Mailer: Lidentifiant du logiciel de gestion de courrier (Lotus Notes Release 5.0.5 ..).

  • *Le format (MIME Multipurpose Internet Mail Extensions) Insuffisance du format RFC 822 : Apparition du format MIME(RFC 1341 et 1342 Juin 1992). MIME introduit quelques nouvelles enttes ayant surtout pour objet de dcrire le format des corps de courriers. Amliorations successives des spcifications de MIME : RFC 1521, 1522 RFC 2045 2049 (Novembre 1996) RFC 2822 (Avril 2001)

  • *Les objectifs de MIME Besoin lmentaire: transmettre des messages textuels qui utilisent des jeux de caractres autres que l'US-ASCII (par exemple ISO-Latin) De manire beaucoup plus gnrale : permettre la dfinition d'un systme trs gnral de typage pour des documents multimdia : textes, images, sons, tableurs, ) Permettre de transmettre des corps de message comportant plusieurs parties (message avec plusieurs attachements).

  • *Les types principaux de donnes MIME: donnes discretes Cinq types de donnes discrets (avec sous types)Type texte: donnes lisibles. text/rfc822 ; text/plain [RFC2646] ; text/html [RFC2854] .Type image: diffrents codages image image/jpeg ; image/gif.Type son: diffrents codages Audio audio/basic (MIC mu 8000 Hz 8 bits). Type vido : images animes. video/mpeg Type application : les donnes qui restent. application/octet-stream ; application/PostScript

  • *Les types principaux de donnes MIME: donnes composites Donnes composites ou assembles ("multipart") :plusieurs types de donnes sont combins en un seul corps. Cinq principaux types: de syntaxe identique mais de smantique diffrente. multipart/mixed : les donnes assembles sont indpendantes. multipart/alternative : les donnes sont des alternatives d'une mme information (pour l'affichage le meilleur sur un destinataire). multipart/digest : la forme par dfaut text/plain est la forme textuelle la plus simple dun message soit text/rfc822 => permet de transfrer une suite de messages ou une boite lettre.multipart/parallel : les donnes sont prsentes en parallle.multipart/related : les donnes sont relies (comme un document HTML qui comprendrait des images incluses).

  • *Les types principaux de donnes MIME: donnes message Le type message est dfini pour transporter dans un corps de courrier lectronique un autre courrier lectronique.

    Utilisation qui justifie le type message: une erreur dans un courrier qui ncessite le renvoi de ce courrier dans un courrier de diagnostic.

  • *MIME: la reprsentation des contenus, lencodage (RFC 2045) Pour transfrer des donnes quelconques (des suites doctets), MIME dfinit cinq formats de codage: - Format texte 7 bits - Format Quoted-Printable - Format Base 64 - Format 8 bits - Format binaire Existence dautres formats ayant t dfinis mais non normaliss MIME : binhex (apple), uuencode, xxencode, (unix) ...

  • *1 Format texte 7 bits, US-ASCII Lencodage par dfaut si rien dautre nest spcifi. Le standard initial de la messagerie Internet (RFC822). Chaque caractre est cod en US-Ascii 7 bits. Jeu de caractre du Network Virtual Terminal Telnet. Uniquement pour les textes anglais: besoin dautres formats.

  • *2 Format Quoted-Printable On code un texte dun alphabet de caractres 8 bits (ex ASCII ISO Latin) en US-ASCII 7 bits. Les caractres standards (code 33 127 sauf le 61 caractre =) sont cods en US-ASCII 7 bits. Les caractres spciaux 8 bits (ex en iso latin: , , , ...) sont cods par une squence =NM ou N et M sont en code ASCII les deux chiffres hexadcimaux des 8 bits reprsenter (espace code ascii 32 =20 ). On peut donc utiliser diffrents alphabets nationaux condition de dfinir lequel est utilis. A utiliser sil y a peu de diffrences avec lus ascii.

  • *3 Format Base 64 Coder tout type de donnes 8 bits en caractres US-ASCII en augmentant pas trop le volume. Des groupes de 3 octets quelconques soient 24 bits sont cods par 4 caractres US-ASCII. On choisit dans lUS-ASCII 64 symboles diffrents pour reprsenter 6 bits (un caractre us ascii pourra coder un groupe de 6 bits):ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789+/. On augmente le volume de 1/3.

  • *4 Format caractres 8 bits Pour transporter des donnes en format caractres 8 bits dans les corps de messages sans les transcoder en US-ASCII.Dfinir dans lentte lalphabet utilis (content type + char set).Ncessite des modifications au format standard des courriers. Ces modifications sont dfinies dans le cadre du protocole ESMTP (option 8BITSMIME).

  • *5 Format binaire Possible en MIME mais pose des problmes avec le format standard (utilisation du type application/octet-stream). Problme: longueur des lignes (RFC 822, une ligne doit faire moins de 1000 cars). Problme: dterminer la fin du message par un dlimiteur appropri. Ncessite dutiliser les extensions ESMTP (Binary).

  • *Complment: codage des champs dentte Problme: Existence de donnes dautres alphabets que lus ascii dans les enttes. Rgle dencodage =?charset?encodage?valeur?= charset: le jeu de caractre, encodage: Q pour quoted et B pour base64, valeur: rsultat dencodage Exemple: Pour transmettre une entte commeSubject: Bonjour GrardEn fait on transmet (par exemple):Subject: Bonjour =?iso-8859-1?Q?G=E9rard?=

  • *Directives dentte spcifiques de MIME MIME utilise des directives dentte dcrivant le corps dun message pour permettre son interprtation larrive. Champs spcifiques de MIME Mime-version: la version utilise actuellement 1.0 Content-type: le type et les sous-type des donnes. Paramtre charset: le jeu de caractres utilis. Content-Tranfer-Encoding: lencodage utilis (quoted-printable, base64) Content-ID: Identificateur unique de partie de message. Content-Description: Informations complmentaires sur le contenu.

  • *Exemples de format MIME (1) Exemple dun courrier en franais encod en format base 64 MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: base64Commentaires:Les donnes transportes sont des caractres ISO-8859-1.Le codage du corps est effectu en base64.

  • *Exemples de format MIME (2) Courrier composite multipartMIME-Version: 1.0Content-type: multipart/alternative; boundary="simple limite"--simple limiteContent-Type: text/plain; charset=ISO-8859-1Content-transfer-encoding: quoted-printable

    Bonjour G=E9rard--simple limiteContent-Type: text/html; charset=ISO-8859-1Content-transfer-encoding: quoted-printable

    Bonjour G=E9rard --simple limite

  • *Conclusion: Format Mime

    Le format par excellence de transmission de fichiers de donnes multimdia.Utilis pour de trs nombreux formats de donnes (des centaines de types diffrents).Un mcanisme dextension permettant dintgrer en permanence de nouveaux formats.MIME est utilis avec des modifications trs mineures par le protocole HTTP du WEB pour ses propres changes de donnes multimdia.Dfinition de mcanismes de scuritpour les changes de courrier: SMIME (Secure MIME).

  • *

    4 Les protocoles de relve de courrier : POP et IMAP

  • *IntroductionDes protocoles drivs du protocole SMTP.

    Spcialiss pour offrir des fonctions spcifiques de relve du courrier dans une boite lettre.Fonctions de transfert de courrier dun serveur de messagerie vers un client de messagerie.Fonctions de gestion des archives de courrier (liste de messages en attente dans une boite, destruction de message )

  • *POP3 Post Office Protocol RFC 1939Le protocole de relve le plus simple.Le plus souvent utilis en transfert dfinitif des messages dune boite lettre dun serveur de messagerie vers un client de messagerie.Ne gre pas les archives de courrier sur le serveur.Convient bien lutilisation partir du mme poste client de messagerie.

  • *Messages POP3 principauxUSERFourniture du nom de la boite lettrePASSFourniture du mot de passe en clairAPOPFourniture crypte du mot de passeSTATNombre de messages dans la boiteLISTListe des messages prsentsRETRTransfert du message nDELEMarquage message pour la suppressionLASTNumro du dernier message consultRSET Annulation des actions dune sessionQUITFin de session.

  • *IMAP4 Internet Message Access Protocol RFC 2060Protocole le plus complet.Gre les archives de courrier sur le serveur (dossier de base INBOX pour les nouveaux messages, primitives de cration de dossiers et de transferts entre dossiers).Minimise les changes de donnes sur le rseau.Le plus souvent utilis en laissant les courriers dans la boite lettre du serveur de messagerie.Un protocole adapt la consultation partir de diffrents poste clients

  • *Messages IMAP4 principauxAUTHENTICATE : Mcanisme dauthentification choisi.LOGIN : Usager mot de passe.LOGOUT : Fin de session IMAP.CREATE/DELETE/RENAME : Nom de boite lettre.SELECT/EXAMINE : Nom de boite lettre.LIST/LSUB/STATUS : Etat de la boite lettre.EXPUNGE/CLOSE : Dtruit les messages marqus (et ferme).SEARCH : Recherche de message sur diffrents critres.FETCH : Rcupration des donnes concernant un courrier.COPY : Recopie dun message dune boite lettre dans une autre. CAPABILITY : Liste des fonctions implantes dun serveur.NOOP : Opration vide.

  • *

    5 Les implantations de la messagerie Internet

  • *Serveurs de messagerie libres (MTA) (1)Sendmail (depuis 1980), Auteur principal Eric Allman, version 8.12.10 en septembre 2003, 40%, problmes de scurit et de configuration (fichier sendmail.cf)Postfix (depuis 2001) Auteur principal Vietse Venema, projet IBM Vmailer, 5%, configuration assez simple.Exim (depuis 1995) Auteur Principal Philippe Hazel, 5%Qmail (depuis 1997) Auteur Dan Bernstein 8%.Considrs comme meilleurs : Postfix et Qmail

  • *Serveurs de messagerie propritaires (MTA) (2)Logiciels de messagerie dentreprise le plus souvent intgrs dans des suites bureautiques ou serveurs WEB. Exchange/Internet Information Service (MTA commun Microsoft la mesagerie exchange et au serveur web IIS) 20%Lotus Notes/Domino (IBM) 2%IMAIL (Ipswitch) 7%

  • *Serveurs de dlivrance de messages (MDA)Gestion de boite lettres (stockage), filtrage des messages, envoi de message de rponse automatique.Diffrentes versions: procmail (logiciel libre le plus rpandu), deliver, mailfilter, maildrop. Des MDA sont aussi intgrs aux grands logiciels de messagerie intgrs (Exim, Exchange).Existence de standards de boite aux lettres mbox/mailbox , maildir.Les MDA incorporent aussi les outils de protection contre les virus et le SPAM (trs grande varit de produits SpamAssassin, Vipuls Razor).

  • *Serveurs daccs aux messages (MAA)Permettre un MUA daccder une boite lettre. Versions protocole propritaire et surtout version POP ou IMAP.Quelques versions: qpopper (protocole POP3), courrier_imap (POP et IMAP), uw_Pop et uw_IMAP (universit de Washington).

  • *Clients de messagerie (MUA)Clients lourds: Ncessite linstallation dune application particulire sur le poste client.Quelques versions: Outlook Express, Netscape Messenger puis Mozilla Thenderbird, Eudora, Incredi mail, foxmail Clients lgers (clients WEB WEBMAIL): Pour consulter du courrier avec une application client serveur WEB.Quelques exemples: sqWebMail, IMP, SquirrelMail, ...

  • *

    Conclusion: messagerie Internet

  • *Importance de la messagerie et de la messagerie InternetUn moyen de communication majeur dans lentreprise, entre entreprises ou entre particuliers.

    Une attente de plus en plus importante vis vis de la messagerie: intgration de la circulation dinformation, outils de travail coopratifs.

    Une volution permanente des messageries standards ou propritaires vers les standards Internet.

    Internet est devenue la seule messagerie fdratrice.

    Une des applications les plus importante de lInternet.

  • *Difficults de la messagerie Internet

    Problmes de scurit de la messagerieScurisation en confidentialit, intgrit, authentification (S-MIME)Vulnrabilit de ce mdia aux diffrentes attaques (virus).

    Problmes de lengorgement par le courrier non sollicit (spam).

    *Ce cours est consacr la messagerie lectronique.Si, ses dbuts, cette application des rseaux a t trs confidentielle et a pu paratre futile par rapport dautres applications des rseaux juges plus nobles, son importance aujourdhui est tellement indiscutable quil nest pas ncessaire dargumenter. L'utilisation massive de la messagerie dans le grand public fait quune forte proportion de la population a maintenant des notions non ngligeables de cet outil.Depuis maintenant plus d'une trentaine d'annes, il a exist de nombreuses variantes de messageries lectroniques. Diffrents diteurs de logiciels ont voulu occuper un march porteur en crant des approches propritaires. Par ailleurs deux grandes approches de standardisation ont t dveloppes: l a messagerie Internet et la messagerie OSI X400En fait, dans ce cours, nous prendrons nos exemples presque exclusivement dans la messagerie Internet en raison de sa diffusion qui est quasiment monopolistique..*Nous suivrons le plan suivant.En introduction nous prsenterons essentiellement des dfinitions gnrales relatives aux services de messagerie. Nous consacrerons le premier chapitre aux architectures de systmes de messagerie et en particulier l'architecture de la messagerie Internet.Nous prsenterons ensuite le principal protocole de communication de messagerie Internet, le protocole SMTP ce qui signifie Simple Mail Transfer Protocol. Cest en fait un protocole client serveur dchange de courriers entre serveurs de messageries dans le rseau Internet. Nous prsenterons les principales caractristiques de l'extension majeure de ce protocole baptis ESMTP E voulant dire extended.Au chapitre 3, nous traiterons des formats de messages changs dans la messagerie Internet. Ces formats sont regroups depuis les annes 1990 sous la terminologie de format MIME ce qui veut dire Multimdia Internet Mail Extensions.Nous parlerons ensuite au chaptre 4 des protocoles Internet POP et IMAP de relve de courrier. Pop est un acronyme pour Post Office Protocol et IMAP pour Internet Mail Access Protocol.Avant de conclure nous dirons quelques mots sur les diffrentes implantations et produits de messagerie Internet.*Pour commencer nous rappelons en introduction quelques dfinitions relatives la messagerie lectronique.Ces dfinitions sont pour la plupart maintenant largement connues, mme dans le grand public, mais il est assez important de reprciser certains aspects.*Lobjectif de base dune messagerie lectronique est de transmettre, au moyen dun rseau dordinateurs, des textes courts en mode caractre. Les documents transmis sont donc en fait des fichiers plats c'est dire des fichiers non structurs de caractres ASCII.Sur cette base, la plupart des messageries ont progressivement tendu leurs fonctionnalits la transmission des fichiers quelconques.Comme une messagerie traite de textes courts, un agent de messagerie gnralement limite la taille des fichiers transmis. Selon des options de dimensionnement, on peut rencontrer des limites de taille des messages deux mga octets ou cinq mga octets. Le plus souvent des fichiers quelconques sont transmis en utilisant des techniques de transcodage de fichiers binaires en fichiers caractres pour retrouver le format standard des messages de texte.Un aspect important de la gestion du courrier est que la lecture dun courrier doit pouvoir se faire quand l'usager destinataire en a le temps c'est dire de faon dissocie de l'opration de transmission du courrier. Il faut donc quun courrier lectronique soit stock par le logiciel de messagerie en mmoire stable cest--dire sur disque jusqu ce que le destinataire dcide de le relever. On a donc un fonctionnement trs asynchrone du courrier lectronique qui ncessite diffrents types de files dattente de courriers. Dans le domaine de la messagerie on parle de boites lettres.La terminologie en matire de courrier lectronique n'est pas compltement stabilise en franais. Le terme que l'on rencontre maintenant assez souvent est courriel. Il n'est pas sur que ce terme ait une vritable durabilit car on pourrait tout simplement parler de courrier pour le courrier lectronique comme en anglais on utilise le plus souvent mail pour email. Qui se souvient qu'un courrier est d'abord la personne qui transporte en courant (ou cheval) un message.

    *Les fonctions principales dune messagerie sont bien sur dmettre et de recevoir des courriers et pour cela on doit dfinir au dpart un systme de dsignation des entits qui schangent du courrier: permettant de dfinir le destinataire ou de savoir qui est l'metteur. En gnral, les systmes de messageries prvoient aussi les listes de diffusion c'est dire que le systme de dsignation doit prvoir les groupes de destinataires.Pour faciliter le travail des utilisateurs l'mission, les logiciels de messagerie proposent des outils de composition des textes transmettre.On doit bien sur fournir une interface pour l'mission des courriers et pour la transmission de fichiers joints si la messagerie permet lattachement de fichiers. Symtriquement il faut dfinir des fonctions de rcupration du courrier et d'affichage ce qui peut tre assez complexe quand les courriers comportent des attachements multimdia.Un logiciel de messagerie offre aussi gnralement des fonctions de gestion des archives de courrier c'est dire de classement des courriers selon diffrents critres dans des boites lettre diffrentes. *Sur ce transparent nous comparons les services de messagerie aux services de transfert de fichiers.Les services d'une messagerie comportent des services de transfert de fichier. Rciproquement on a vu des changes de courriers raliss par des transferts de fichiers. Les similitudes sont donc assez grandes entre les deux applications. Il reste nanmoins des diffrences non ngligeables.La principale diffrence est la suivante. La transmission d'un fichier en transfert de fichier se fait de faon immdiate (synchrone), cest dire que si le site distant nest pas oprationnel la transmission ne peut avoir lieu. En messagerie on peut rcuprer de manire asynchrone les messages et par suite les fichiers joints. Autre diffrence significative, un transfert de fichier ne propose pas de facilits de composition de fichiers. Dans un transfert de fichiers, les fichiers sont de taille quelconque et de type quelconque alors qu'une messagerie limite souvent la taille des fichiers transports et souvent ne transporte que des fichiers de caractres.Les systmes de dsignation sont galement diffrents. Dans un cas on dsigne un fichier dans une arborescence sur une machine dans l'autre un message dans une boite lettre.Dans un transfert de fichiers, les fichiers sont transfrs en binaire sans tre convertis. En gnral les messages sont mis et reus partir d'un rpertoire unique (une boite lettre en mission ou une boite lettre en rception).*Situons maintenant les services de messageries par rapport aux services de communication en mode message asynchrone. Nous considrons tout de suite plus particulirement le mode files de messages.Un service de files de messages (MOM 'Message Oriented Middleware') comme le produit IBM MQ Series 'Message Queue Series' ou le produit Microsoft quivalent Microsoft Message Queues) dfinit un service de niveau application de type communication en mode message asynchrone. Il apparat donc la base comme similaire un service de transport. La notion de MOM ajoute un service de journalisation des messages transmis et il assure la dlivrance des messages mme si le destinataire nest pas disponible au moment de lmission. On a donc comme dans une messagerie la possibilit d'une relve asynchrone des messages.Similitudes : Transmission de messages (de textes courts) et dlivrance asynchrone, la relve dun message MOM comme celle dun courrier lectronique sont linitiative du destinataire.Diffrences : Dans un MOM, il ny a pas de transcodage d'un message quelconque en mode caractre, de facilit de composition de messages, de gestion darchives de messages. Un MOM transfre des messages de faon similaire un protocole de transport en assurant la persistance des messages alors quune messagerie transfre plutt des fichiers.

    *Ce premier chapitre est consacr une prsentation assez rapide des architectures de systmes de messagerie.

    *On a distingu historiquement deux grandes catgories d'architectures de systmes de messagerie lectronique.Sur ce transparent nous commenons par les messageries en stockage et retransmission.Ces messageries sont constitues d'un ensemble de systmes usagers de la messagerie et d'un ensemble de commutateurs de courriers qui acheminent les courriers lectroniques comme sont achemins des paquets dans un rseau commutation de paquets. Sur le dessin on a port en gras le chemin emprunt par un courrier lectronique qui est ici relay successivement par les commutateurs MTA 1, MTA2, MTA3, MTA4. Les deux principaux types d'appareils figurant sur ce dessin sont baptiss MUA et MTA. Nous les dfinissons au transparent suivant.*Dans la terminologie X400 un serveur de messagerie est baptis agent de transfert de messages ou en anglais MTA Mail Transfer Agent. Cest donc tout dabord un composant matriel/logiciel qui transfere du courrier pour le compte d'un client. C'est galement un commutateur de courriers. On dit encore souvent aussi qu'il relaye du courrier. Un client de messagerie est un ensemble matriel logiciel qui offre un usager linterface daccs au systme de messagerie. Il est appel agent d'utilisateur de messagerie ou en anglais MUA Mail User Agent.L'exempletype dune messagerie avec commutation en stockage et retransmission est la messagerie normalise par l'ITU 'International Telecommunication Union' selon la norme X400. La mme norme est dfinie par l'OSI sous l'appellation MHS 'Message Handling System'. Cette messagerie a connu un dveloppement significatif au moment de son adoption mais elle a t ensuite marginalise par le dveloppement de la messagerie Internet.*La seconde grande catgorie de messagerie est constitue par les messageries avec acheminement de bout en bout. La terminologie MUA, MTA des messageries normalises X400 a t conserve dans les messageries en acheminement de bout en bout.Dans cette architecture chaque client de messagerie (chaque MUA) dialogue avec un serveur de messagerie de rattachement (son MTA, le MTA de son entreprise). Au dpart MUA et MTA taient sur la mme machine (le grand systme de l'entreprise). Ils sont maintenant sur des postes de travail diffrents.Le dialogue entre les MTA n'est pas ralis comme prcdemment par routage l'intrieur du systme de messagerie mais par un acheminement direct (de bout en bout) entre le MTA de rattachement de l'metteur et le MTA de rattachement du destinataire. Pour pouvoir acheminer ainsi directement un courrier un MTA utilise un service de transport existant qui est typiquement dans lInternet le protocole TCP. Un courrier lectronique est donc achemin comme des segments de niveau transport. Comme le protocole de transport de niveau 4 utilise un protocole de rseau de niveau 3 sous-jacent (typiquement IP), cest ce niveau rseau qui effectue des oprations de commutation si elles sont ncessaires.L'exemple type de cette architecture est offert par la messagerie Internet et son protocole d'change de messages SMTP ('Simple Mail Transfer Protocol') utilis dans sa forme de base. On peut cependant noter des maintenant que la messagerie Internet SMTP permet galement de faire du relayage de courriers. Il faut pour cela quun MTA Internet accepte de fonctionner en relais ouvert. Dans ce cas un MTA qui reoit un courrier dun autre MTA le relaye vers son destinataire comme sil venait de recevoir ce courrier dun client ou il le relaye vers un autre MTA sil est configur pour retransmettre ainsi tout ses courriers en sortie. Il peut enfin relayer un courrier vers un autre MTA s'il trouve dans le courrier des informations de routage.

    *Ce transparent prsente quelques lments trs rapides de comparaison des deux architectures.On peut dire que la solution de lacheminement de bout en bout est certainement beaucoup plus simple pour dvelopper une messagerie. Si le protocole de transport est fiable (comme TCP) on limine ainsi pratiquement tous les problmes de reprise sur erreur.La solution avec stockage et retransmission impose de rsoudre au niveau dune messagerie, des problmes de routage et ventuellement aussi de contrle derreur dans la mesure ou le bruit ou les pannes de commutateurs intermdiaires peuvent faire perdre des courriers.Un atout de la solution avec stockage et retransmission consistait faciliter la construction des passerelles entre systmes de messagerie. Cependant comme on est arriv une unification presque complte autour de la messagerie Internet, a ne constitue plus un avantage rel des messageries stockage et retransmission comme X400.*Ce schma donne une vision modulaire plus dtaille dune architecture de systme de messagerie que lon rencontre actuellement sur lInternet.Un tel dcoupage modulaire permet de considrer un systme de messagerie comme un ensemble de modules que lon peut placer sur diffrents calculateurs dun systme rparti.On peut galement remplacer des modules par dautres pour adapter au mieux les outils dune entreprise ses besoins. On peut galement de faon plus souple rajouter de nouveaux composants cette architecture comme des anti-virus des anti spams etc.On voit apparatre sur ce schma cinq lments principaux, cest dire trois modules nouveaux par rapport aux deux modules dj prsents. Le schma comporte deux parties associes lmetteur et au destinataire, les parties sont encadres par des rectangles.En plus de la notion de MUA ou client de messagerie et de MTA serveur de messagerie on introduit sur le destinataire la notion de MDA ce qui veut dire Mail Delivery Agent. Un MDA est un logiciel charg du stockage des courriers sur le site destinataire. Sur le schma on a reprsent la fonction boite aux lettres du destinataire cest--dire la fonction de stockage des messages avant relve du courrier. Il apparat ensuite la notion de MAA ou Mail Access Agent qui est un module charg de rpondre aux requtes daccs la boite lettre de courrier.On a port sur les flches huit tapes principales dans le cycle de vie dun message. Nous allons les dtailler dans les transparents suivants. On a galement port sur certaines flches le nom du protocole utilis comme SMTP, POP ou IMAP. Ils sont dtaills galement dans la suite.Cette architecture gnrique tend simposer. On peut peut-tre encore trouver dautres dcoupages avec des modes de fonctionnement propritaires. A condition de respecter le protocole SMTP entre MTA et le format des courriers changs, une messagerie propritaire peut participer la messagerie Internet tout en faisant ce qu'elle veut cot metteur et cot destinataire.*Nous reprenons une par une les tapes dfinies dans le transparent prcdent:Etape 1 : La composition dun courrier est ralise laide du client de messagerie MUA. Elle doit permettre de fournir les informations essentielles dun courrier: adresse source, adresse destinataire, objet, contenu. En fait les courriers sont souvent composs directement dans le format standard des courriers Internet mais ce nest pas obligatoire. On peut passer par des formats propritaires et transcoder au moment de lmission. Le message compos peut dj tre stock une premire fois dans des files dattentes (celles du MUA) si son expdition nest pas immdiatement possible.Etape 2 : Des que possible, le message est transmis par le client de messagerie son serveur de messagerie (son MTA de rattachement) en utilisant le protocole SMTP.Etape 3 : Le message est transmis par le MTA de rattachement de lmetteur au MTA de rattachement du destinataire toujours en utilisant SMTP. On peut trouver ce niveau une nouvelle file dattente de courriers qui permet, en cas d'chec d'une premire tentative, de tenter de joindre diffrentes reprises le MTA destinataire pendant un laps de temps prdfini (ventuellement plusieurs heures) avant de dclarer le destinataire inaccessible.Etape 4 : Le MTA destinataire transmet le message reu un agent qui est en fait un agent charg de le stocker. Cest la fonction de MDA ou mail delivery Agent.*Nous continuons lexamen des tapes suivies par un courrier:Etape 5 : Le MDA stocke le courrier qui vient darriver dans la boite lettre du destinataire. Il existe des formats standards de boites lettre sur disque dont nous dirons quelques mots au dernier chapitre.Etape 6 : Le destinataire relve son courrier en utilisant un protocole de relve POP ou IMAP. Ces protocoles comportent diffrents changes requte rponse. La principale requte est celle de laccs un courrier et la rponse est la fourniture du courrier. Dans ce mode client serveur on appelle MAA pour Mail Access Agent le logiciel serveur qui reoite les requtes, accde aux boites aux lettres pour fournir des rponses.Etape 7 : Le message est transmis par le protocole de relve vers le MUA destinataire, le client de messagerie du destinataire. Celui ci les stocke dans des boites lettre du poste client.Etape 8 : Le destinataire peut consulter les messages prsents dans les boites a lettre de son MUA.

    *Finalement la messagerie Internet comporte quatre protocoles principaux que l'on a dj un peu voqu pour trois d'entr'eux.Simple Mail Transfer Protocol (SMTP) est le protocole de base de la messagerie. Maintenant ancien bas il utilise des messages de format caractres pour raliser les transferts de courriers entre MTA. Normalis au dpart sous la rfrence RFC 82, il a subi depuis de nombreuses amliorations.Lune des amliorations principale , en fait une rvision majeure du protocole SMTP est constitue par le protocole Extended Simple Mail Transfer Protocol (ESMTP) (RFC 1869)qui dfinit des commandes supplmentaires, des possibilits dchanges de courriers de types plus varis.Post Office Protocol (POP) est un protocole de base pour la relve de courrier. Son mode de fonctionnement principalement vis est le transfert des courriers entre un client de messagerie MUA et un serveur de messagerie dans sa partie MAA suivi d'une destruction du courrier par le MAA. Le courrier n'est alors plus conserv que sur le MUA client de messagerie du destinataire.Internet Message Access Protocol (IMAP) est un autre protocole de relve qui offre des possibilits plus larges que POP (gestion des archives de courrier, limitation des volumes de donnes changes ). Son mode de fonctionnement privilgie la gestion des archives de courrier par le MAA destinataire c'est dire sur le serveur de messagerie destinataire et pas sur le poste client du destinataire.Nous reviendrons dans les derniers chapitres de ce cours sur les diffrences entre POP et IMAP.

    *Aprs ces quelques gnralits nous entrons dans plus de dtail en commenant par le principal protocole fdrateur de la messagerie Internet : le protocole SMTP Simple Mail Transfer Protocol. Nous prsentons ensuite quelques lments du protocole ESMTP.*Avant de parler du protocole SMTP, nous devons dire quelques mots du systme de d'adressage de la messagerie Internet. On va donc dire comment est rsolu dans cette messagerie le problme de dsignation cest--dire la construction des noms ou adresses, puis la liaison cest--dire le moyen de retrouver un destinataire. On distingue deux types d'adresses: tout d'abord les adresses globales de messagerie. Ce sont des adresses pour un metteur ou un destinataire qui sont valides n'importe ou dans lInternet. De manire plus prcise une telle adresse ne comporte pas de chemin pour atteindre le destinataire.Une adresse globale de courrier lectronique Internet est compose de deux parties: une partie locale qui est un nom de boite lettre et une partie dsignation en univers rparti de la localisation de la boite lettre. Il s'agit dans le rseau Internet d'un nom de domaine DNS. Le sparateur est le fameux caractre arobas. En tant choisi pour apparatre dans les adresses de courrier ce caractre bizarre est devenu symbolique de l'informatique pour le grand public et a acquis une grande gloire car il tait auparavant assez ignor dans les alphabets ascii.Le nom de domaine dun utilisateur du courrier est le nom du domaine DNS ou se trouve dfini le MTA de rattachement d'un usager metteur ou destinataire. Cette partie d'une adresse de courrier lectronique doit donc tre construite selon les rgles qui prsident la construction des FQN DNS. En terme de liaison, ce nom permet en fait de dterminer ladresse IP du MTA de rattachement de lusager. On peut revoir ce propos le cours DNS avec les types d'enregistrements en particulier le type MX qui permet de connatre le ou les MTA serveurs de courriers dun domaine car ils peuvent tre redonds. On rappelle que cette stratgie permet de distinguer les noms des serveurs de courrier du nom de domaine utilis dans la dsignation des destinataires. Dans la rfc smtp initiale la talle du nom de domaine est limite 64 octets.Le nom dune boite lettre est une chane de caractre (limite 64 octets) qui identifie une structure de donne pouvant archiver des files d'attentes de courriers lectroniques. La chane de caractre identifiant une boite, est quelconque et na a priori aucun rapport avec la notion didentificateur de login. Cependant assez souvent on a utilis les mmes identificateurs pour le login et pour la boite lettre pour des raisons de simplification vidente de l'administration et pour des raisons de facilit de mmorisation. Par exemple lors de l'arrive des premiers systmes Unix chaque usager avait un login bas sur son prnom ce qui donne un nom de boite lettre comme gerard et une adresse de courrier [email protected].*Il existe diffrentes syntaxes pour les adresses globales de courrier lectronique.La forme la plus simple comme [email protected] a t vue au transparent prcdent. Ajoutons qu'on peut mettre des espaces l'intrieur d'une adresse (entre les diffrents champs).On peut aussi utiliser des dlimiteurs guillemets pour isoler la chane de caractres associe au nom de boite lettre et mettre dans cette chane des caractres spciaux.Dans beaucoup de cas on a des problmes pour associer un nom de boite lettre une personne prcise. En consquence les adresses de messagerie prvoient plusieurs syntaxes permettant de rajouter des textes comme l'ensemble prenom.nom.On peut mettre dans une adresse un commentaire entre parenthses ce qui permet de rajouter une forme prnom nom plus intuitive que le nom de la boite lettreOn peut utiliser les dlimiteurs plus petit et plus grand pour dlimiter une adresse. Tout ce qui est l'extrieur de ces dlimiteurs est ignor du point de vue de l'adresse. En quelque sorte il s'agit d'une autre forme de commentaire. Remarquons au passage qu'une adresse de la forme est une adresse vide. On peut l'utiliser par exemple en position d'adresse metteur pour dfinir une adresse laquelle on ne peut pas rpondre.On peut enfin donner l'adresse IP en numrique du serveur de courrier du destinataire. Cette forme est dconseille car elle limine de fait le DNS et ses enregistrements de type MX qui permettent de rendre plus rationnelle la liaison avec le serveur distant.*Sur ce transparent on montre qu'on peut dfinir des adresses non globales au sens ou elles ne sont dfinies que par rapport un chemin suivre obligatoirement pour atteindre le destinataire.Par exemple on peut dfinir une adresse qui spcifie qu'un courrier doit tre envoy ibp.fr, qui doit le faire suivre uvsq.fr, qui l'envoie finalement [email protected]. Les adresses avec routage explicite sont trs fortement dconseilles. En effet, les serveurs de messagerie sont gnralement configurs pour ne pas relayer un courrier qui provient d'une source qui n'est pas dans leur domaine. Ceci de faon limiter le SPAM. Dans ce cas le mcanisme de routage par la source n'est pas appliqu.Il y a deux syntaxes diffrentes :Avec des @ devant chaque serveur intermdiaire relais, et deux points avant l'adresse destinataire proprement dite.Lautre forme qui serait mieux reconnue par es implantations smtp selon certains auteurs utilise des pourcents comme dlimiteurs. On met la liste des relais en partant de la fin.

    *Le point important fixer au dpart d'un expos sur SMTP est que SMTP est un protocole client serveur entre deux MTA. L'un des MTA joue le rle de client, c'est l'metteur d'un message. L'autre MTA joue le rle de serveur. C'est le destinataire d'un message.En fait tous les MTA sont la fois clients et serveurs et l'algorithmique rparti d'change des courriers lectroniques est trs symtrique. En ce sens on pourrait dire que c'est une forme de communications de donnes entre gaux (peer to peer).Sur le schma on a rappel que chaque MTA travaille en relation avec des files d'attentes de courriers qu'il met ou reoit. En fait dans ce chapitre nous allons nous proccuper essentiellement des commandes et des rponses permettant de transmettre un courrier. *On prsente sur ce transparent une immersion brutale dans le protocole SMTP sous la forme dun exemple de fonctionnement du protocole SMTP. Cet exemple est celui dune utilisation maintenant ancienne de la messagerie Internet avec la commande mail de Unix sur un sun. Avec loption -v on a slectionn un mode verbeux de fonctionnement qui permet de tracer les messages SMTP changs. Dans la ligne de lancement commande on a indiqu ladresse de courrier lectronique du destinataire qui est ici lo arobas artemis.fr.On voit tout dabord sur les deux premires lignes le compte rendu de la phase de connexion en TCP au serveur de messagerie de lutilisateur distant. SMTP fonctionne au dessus de TCP donc le sun metteur a lanc une commande de connexion en TCP la machine du destinataire artemis.Le MTA qui tourne sur le serveur artemis est la version sendmail trs rpandue encore sur les systmes UNIX. On voit que la connexion est accepte avec la rponse de code 220 et un texte en clair d'explication.On voit ensuite des lignes qui ont t renforces en gras et qui commencent aprs des ensemble de trois caractres >. Ce sont les messages du protocole SMTP, mis par le sun pour raliser la commande mail. Remarquons que chaque message du protocole SMTP est en fait une ligne de texte donc une suite de caractres termine par un retour charriot, passage la ligne. En gnral chaque message de requte client donne lieu un message de rponse serveur qui est galement en format caractre.Chaque message du MTA client est typ par un mot cl que lon a port en gras. Chaque rponse est type par un code numrique et explique par un message en clair.*On confirme et prcise un peu les diffrents types de messages SMTP vus sur l'exemple prcdent.Chaque requte est associ une ligne de texte termine par CRLF (carriage return code 13 et line feed code 10).Le message de type HELO demande l'ouverture d'une session d'change de courrier entre le client et le serveur. Le message contient en paramtre le nom de domaine DNS le FQDN du domaine client. Le message de type MAIL FROM: dfinit l'adresse mail de l'metteur. Cette information n'est pas authentifie donc on peut mettre n'importe quoi. Elle est utilise pour le retour ventuel de comte rendu d'erreur.Le message de type RCPT TO: permet de dfinir l'adresse mail du destinataire. On a vu qu'on peut dfinir un routage en donnant une liste de MTA visiterpar le courrier.DATA Dfinit l'enveloppe (l'entte) et le corps (le texte) du message.Le type de message DATA introduit la phase de transmission du message proprement dit dont nous verrons qu'il est compos d'une entte et d'un corps.Le type de message QUIT ferme une session de transmission de courrier.*Il existe un nombre assez limit de types de messages en SMTP. Nous trouvons sur ce second transparent l'essentiel des diffrents autres types de messages qui ont par rapport ceux de la page prcdente un rle assez annexeLe type de message RSETest une demande pour abandonner le courrier en cours de transmission et restaurer la connexion.Le type de message VRFYpermet de vrifier une adresse de destinataire sans lui transmettre de courrier. C'est utilisable pour dterminer la cause dun problme.Le type de message NOOPoblige simplement le serveur rpondre. C'est une requte qui permet de savoir si un serveur distant est toujours oprationnel.Le type de message EXPNdemande l'expansion dune liste de diffusion (mailing list).Le type de message TURNpermet d'inverser les rles client et serveur pour envoyer du courrier dans lautre sens cest dire du serveur vers le client sans ouvrir une nouvelle connexion TCP.On pourrait rajouter cette liste des messages Help demande d'information au site distant concernant une commande. SEND,SOML, and SAML (Send, send or mail et send and mail qui remplacent la commande MAIL et permettent toute combinaison de dlivrance directe sur le terminal du destinataire lorsque celui-ci est connect (logged in), ou d'envoi sur sa boite lettre. Ces dernires commandes sont rarement implantes.

    *On prsente maintenant quelques dtails sur les messages de rponses mises par le serveur vers le client.Pour chaque messageclient on a un code retour sous une forme numrique de trois chiffres dcimaux et une explication complmentaire en clair qui est non normalise et qui dpend donc de limplantation. Cette codification des rponses eu de nombreuses suites les protocoles d'application Internet avec des formes similaires (par exemple en HTTP).Le transparent donne une vue trs partielle des valeurs possibles. Pour des dtails il faut consulter les RFC ou les manuels de proudits de messagerie. On cite ici en premire position le code 1 qui indique un travail en cours qui se poursuit, 2 qui indique une requte compltement et correctement excute alors que 5 indique le contraire.En seconde position 0 concerne la syntaxe d'un courrier, 2 l'tat d'une connexion et 5 l'tat global du systme de messagerie.Il faut toujours aller regarder de prs le contenu d'un diagnostic de non dlivrance d'un message. On peut ainsi savoir de faon assez prcise ce qui s'est pass et si le problme parait assez grave le signaler.

    *On a fait sur ce transparent un coup coll d'une liste des rponses les plus frquentes trouve sur le web.Par exemple le code 250 indique que tout s'est bien pass. On l'avait vu sur la trace en mode verbeux de l'excution de la commande mail.On lit au hasard une autre ligne, par exemple, avant dernire ligne, le code 553 indique une erreur de syntaxe dans le nom d'un boite lettres. *Pour terminer ce court expos du protocole SMTP, nous donnons sur ce transparent et le suivant les principales diffrences entre SMTP et son extension majeure ESMTP maintenant trs utilisLe message de type EHLO (RFC 1651) dfinit l'ouverture de session entre un client et un serveur en mode ESMTP. On voit la diffrence avec le message HELO de SMTP. La rponse dfinit la liste des extensions supportes par le serveur car les extensions tant quand mme assez varies et complexes, elles ne sont pas forcment toutes implmentes.Le paramtre BODY = 8BITMIME (RFC 1652) dans le message mail from dfinit un encodage dans un alphabet 8 bits au lieu de l'usasci 7 bits. Nous reviendrons sur ce point propos du format MIME.Les valeurs du paramtre BODY qui sont CHUNKING ou BINARYMIME (RFC 1830) permettent de transmettre par morceaux ou avec des donnes binaires. Par exemple MAIL FROM: xxx BODY=BINARYMIME permet de transmettre dans un courrier n'importe quelle donne . Le corps du message est en binaire. Sa valeur est introduite par le message BDAT (binary data) au lieu de DATA.Le type de message ETRN permet denvoyer un message sur plusieurs connexions TCP successives, donc on peut ainsi mettre des courriers longs en ayant un ventuelle rupture de connexion en cours.

    *En ESMTP on a introduit le mode DSN qui veut dire delivery service notification. Dans ce mode on a dfini un systme daccus de rception assez sophistiqu pour les courriers lectroniques Le message MAIL FROM comporte deux paramtres RET=retour ENVID=ident. Le paramtre retour indique la portion du message mis que l'accus doit retourner. Avec FULL on retourne l'intgralit du message, et avec headers HDRS on ne retourne que les en-ttes. Le paramtre envid dfinit un identificateur qui sera retourn pour permettre d'apparier un message et son accus de rception.Receipt to comporte deux paramtres notify et adresse du destinataire de l'accus de rception. Le paramtre notifiy dfinit le motif qui doit conduire une notification. SUCCESS quand le courrier a t dlivr. FAILURE quand il n'a pas pu tre dlivr. DELAY quand il est en attente de dlivrance dans une file. NEVER pas de compte rendu. Le paramtre ORCPT contient normalement la mme adresse que celle de l'metteur mais on peut souhaiter qu'elle soit diffrente. De plus certains relais de courrier peuvent modifier l'adresse. Le paramtre SIZE (RFC 1870) permet de dfinir la taille d'un courrier.Le mode PIPELINING (RFC 2197) permet d'enchaner plusieurs commandes SMTP sans attendre la rponse.Le mode AUTH (RFC 2554) introduit la possibilit d'authentifier l'metteur d'un courrier. Le client de messagerie devrait alors prouver son MTA qu'il est bien l'auteur du courrier qu'il demande de transmettre. de mme un MTA qui demanderait le relayage d'un message un autre MTA devrait s'authentifier ce qui limiterait un peu les possibilits de SPAM. En fait les modes vraiment scuritaires de fonctionnement du courrier sont rellement traits avec S-MIME mais aussi avec PGP.Le mode CHECKPOINT (RFC 1845) permet de crer des transactions de transmission de courrier avec reprise en cas de panne MAIL FROM: xxx TRANSID=yyyyy*Nous passons maintenant l'examen des diffrentes structures de donnes de courriers changs. Dans cette messagerie on est parti d'une dfinition de base assez simple de la structure d'un courrier lectronique. Mais sous l'influence des besoins de transmission d'une grande varit de types de donnes (images, pages web) on est pass une dfinition beaucoup plus large connue sous le nom de format MIME.*Le format de base des courriers lectronique Internet est connu par sa RFC originelle qui est la RFC 822. Cette RFC a t remodele en versions successives jusqu' la version actuelle qui est la 2822.Ce transparent rappelle les grandes lignes de la structure d'un courrier.Dans la version de base un courrier lectronique Internet est compos de lignes de caractres de l'ASCII amricain sur 7bits selon la mme dfinition que celle du terminal virtuel Telnet NVT Network Virtual Terminal.Chaque ligne fait au maximum 1000 caractres et est termine par retour chariot CR saut de ligne LF.Les courriers sont en deux partie : une entte et un corps spars par une ligne vide.Lentte est une liste de lignes de texte prcisant les caractristiques du message sous la forme : Nom_de_zone: Valeur_de_zoneLe corps contient les donnes effectivement changes.Nous allons revenir plus en dtail sur ces diffrents points.*Sur ce premier exemple simple on voit apparaitre les deux parties principales d'un courrier.- Tout d'abord les lignes d'entte qui contiennent diffrentes informations ou directives permettant l'interprtation d'un courrier. Ces lignes d'entte, nous l'avons dit sont de la forme type de la ligne suivie de deux points suivi d'une valeur ou de paramtres avec des valeurs.On comprend assez facilement le sens de toutes ces informations, delivered to, date, from, organization, to, cc qui veut dire carbon copy, subject.- Ensuite la partie indique comme le corps du courrier lectronique contient le texte proprement dit du courrier.*Les directives d'entte appartiennent trois catgories.- Les enttes obligatoires : il s'agit de from avec l'adresse de l'metteur, to avec l'adresse du destinatire et de date avec la date de cration du message.- On trouve ensuite un ensemble directives normalises mais facultatives.- On trouve enfin des lignes d'entte propritaires qui peuvent tre cres par un logiciel de messagerie mais qui ne sont pas standards et ne correspondent pas une dfinition partages. Ces enttes ne seront donc pas reconnues ni utilises dans de nombreux cas. *- Sur ce transparent on a port quelques enttes normalises et quelques enttes prives qui commencent par x-.- Il existe un trop grand nombre d'enttes pour en faire une liste exhaustive dans le cadre de ce cours.Nous avons choisi quelques exemples.- received est une entte intressante car elle permet de connatre le chemin suivi par un courrier. Chaque MTA visit rajoute une entte received donc si un courrier a t relay on voit apparatre autant de ligne d'entte received que de MTA ayant relay le courrier.- Reply-to permet de dfinir l'adresse laquelle une rponse doit tre envoye. Ce n'est pas forcment l'adresse de l'metteur et c'est diffrente des mcanismles d'accus de rception.- Subject dfini le thme gnral du courrier.- Message-ID donne un identifiant unique du courrier ce qui utile pour archiver et ensuite faire tat de l'existence ou mme ventuellement utiliser juridiquement un courrier.

    Dans le domaine des enttes prives nous avons cit:- X-phone qui permet d'ajouter une numro d'appel tlphonique utilisable concernant le courrier lectronique.- X-Mailer qui donne le nom du logiciel ayant cr le courrier.

    *- Invitablement la messagerie Internet a du tre retouche au fur et mesure du constat de ses insuffisances. C'est probablement surtout son succs qui a rvl diffrents problmes. - Par exemple dans les annes 1980 les utilisateurs franais, gnralement des informaticiens, s'accommodaient de n'avoir pour rdiger leurs courriers que l'ascii amricain. Avec l'arrive d'un ensemble trs vaste d'utilisateurs en France s'est pos le problme de l'utilisation des accents et autres signes diacritiques du franais. Le problme s'est pos dans de nombreuses autres langues.- Nous en restons la pour les insuffisances car nous allons dtailler dans les transparents qui suivent, les diffrentes fonctionnalits nouvelles qui ont t introduites et donc nous allons voir d'autres critiques qui ont amen d'autres extensions au format RFC 822.- Toutes ces extensions on t rassembles sous l'appellation MIME pour multipurpose internet mail extensions.- Mime s'intresse essentiellement au format des corps de message.- Les amliorations successives du format MIME sont constantes. Elles ont conduit la RFC 2822 de 2001 et il est probable que ce n'est pas fini.*- Nous revenons plus en dtail sur les objectifs qui ont prsid la dfinition du format MIME. En fait avec MIME on a cherch s'affranchir de la forme simpliste des coprs de messages du dbut de la messagerie Internet (uniquement du texte ASCII US).- Nous avons dj vu comme problme assez important une poque, la possibilit d'utiliser des alphabets diffrents de l'US-ASCII. Par exemple pour le franais, pouvoir changer des courriers dans l'alphabet ISO latin 1.- Mais ce problme s'est gnralis rapidement de nombreux autres types de coprs de messages possibles. Et l'un des deux problmes majeurs de MIME a t de crer un vritable systme de typage pour des donnes multimdia. La varit des formes de documents a changer par mail est norme et l'on doir pouvoir les typer pour dterminer quelle application les prend en charge. Par exemple un format d'image est trait par un afficheur donn, un format de tableau est trait par le tableur correspondant.- Un autre problme est apparu en mme temps qui consiste pouvoir attacher un fichier auxilliaire un courrier. Ce problme a t lgrement gnralis en considrant tout simplement qu'un corps de message pouvait comporter plusieurs parties et que cette dcomposition pouvait tre hirarchique.*- Les types principaux de donnes MIME sont rpertories en trois catgories: les donnes discrtes, les donnes composites et les donnes messages.- Dans ce transparent on commence par lister les principaux types de donnes discrtes qui sont des donnes homognes au sens ou elles correspondent une structure de donnes unique comme une image, un son.- On a cinq principaux types de donnes discrtes, chacun de ces types comportant de nombreux sous types:- Le type texte dfinit les donnes textuelles comme du texte en us-ascii selon la norme rfc822, du texte non format dfini dans un alphabet donn text/plain ou du document textuel avec indications de structuration comme les formats HTML, XML, etc- Le type image dfinit dans ses sous types les diffrents standards de codage d'image comme jpeg, gif etc ...- De mme pour le type son qui peut tre basique ou mp3 etc- On peut aussi changer des vidos dont le volume serait compatible avec la taille des courriers lectroniques. On a donc diffrents types de vidos qui correspondent aux diffrents codages.- Enfin le type application regroupe tout ce qui ne rentre pas dans la classification prcdente. Par exemple du bianire pur est dfini comme de l'octet stream mais on peut aussi trouver des donnes structures selon le format postscript.*Ce transparent prsente maintenant les donnes MIME composites. Dans le langage MIME on dit multipart soit encore en franais multi-partie qui serait possible.Une donne composite est associe la runion dans un mme corps de courrier de plusieurs donnes de type diffrents. Il est assez naturel d'assembler des donnes discrtes cest--dire des textes avec des images ou du son. Cest donc fait typiquement pour transfrer des donnes en attachement. Mais on autorise galement en MIME, lassemblage des donnes discrtes avec d'autres donnes composites. Donc un corps de courrier MIME composite possde dans le cas gnral une structure d'arbre. Chaque partie peut contenir des parties et ainsi de suite.Il n'y a qu'une seule forme de donnes composites (une seule syntaxe) qui dfinisse la runion dans un mme corps de plusieurs types de donnes discrtes ou composites. Par contre on peut donner des sens diffrents (des smantiques diffrentes) cette structuration.Avec le sous type mixed, les diffrentes structures de donnes assembles sont indpendantes (c'est dire quelconques et sans relation). Par exemple on a un texte avec un attachement sous la forme d'un document word. L'ordre des donnes dans le corps d'un courrier peut tre significatif.Le sous type alternative correspond des donnes reprsentant la mme information mais de forme syntaxique diffrente ce qui peut se comprendre quand on a diffrentes possibilits d'affichage avec des afficheurs de qualit diffrente. Typiquement on peut avoir une prsentation banale de texte brut text/plain associe une prsentation plus graphique de la mme chose comme text/html. Dans ce mode l'ordre n'a pas grande importance. C'est plutt l'existence d'un afficheur pour les diffrents types de donnes qui joue.Le sous type digest n'est pas trs vident comprendre. Il est identique au type mixed mais avec la diffrence que dans toutes les parties le type par dfaut (lorsque content type n'est pas mentionn) est text/rfc822 plutt que text/plain.Le sous type parallle indique que les diffrentes donnes assembles sont prsentes simultanment l'utilisateur. Par exemple on transporte un fichier texte associ un fichier son. Le texte et le son sont affichs simultanment. On pourrait imaginer aussi une image et un texte servant de lgende pour cette image qui seraient affichs ensembles.Le sous-type multi-part related est assez rcent. Il dfinit des donnes relies. L'exemple type est celui d'un document HTML qui comprend des documents inclus de nature diffrente un document de base et des images incluses).

    *Le troisime type MIME est le type message. Le type message permet d'encapsuler un courrier avec toutes ses informations d'entte, de corps dans un autre courrier. Il associe un courrier lectronique une structure de donne rassemblant toutes les informations de ce courrier.Lutilisation du type courrier est claire. On peut envoyer dans un courrier un autre courrier en attachement. Par exemple, si un premier courrier a donn lieu une erreur. On peut transmettre en rponse un courrier de rapport d'erreur contenant le diagnostic de l'erreur et en attachement le courrier original ayant provoqu une erreur.*- On s'intresse maintenant la reprsentation des donnes transfres dans les courriers. Ces donnes peuvent tre quelconques or les courriers sont a priori en us ascii 7 bits (american standard code for information interchange).- L'IETF a donc normalis cinq procds pour transfrer des donnes quelconques strutures en octets. Nous allons tudier rapidement dans les transparents suivants le format texte 7 bits, le format Quoted-Printable, le format Base 64, le format 8 bits, le format binaire.- Ce qui veut dire aussi que les trs nombreux autres formats d'encodage de donnes binaires en format caractre comme le binhex qui avait t utilis par apple ou l'uuencode dfini en Unix ne sont plus normaliss.

    *- Pour mmoire, on retrouve comme l'un des cinq formats, le format de base de la RFC 822 qui consiste transmettre les corps de message comme des caractres en ascii 7 bits.- C'est l'encodage par dfaut, c'est dire que si l'on ne spcifie rien de prcis pour un message c'est ce format qui est pris.- On a dj que ce jeu est celui dfini pour le NVT de telnet.- C'est parfait pour les messages de base en format texte en anglais mais a pose des problmes des que l'on sort de cette hypothse.*- Nous prsentons dans ses grandes lignes le format quoted printable. - L'objectif du quoted printable comme celui des cinq formats d'encodage est de coder des octets, mais on prend comme hypothse que ces octets appartiennent un code caractre 8 bits donn. Il est a priori diffrent de l'Us ascii sinon ca ne sert rien mais il ne pas non plus pas tre trs diffrent sinon le format quoted printable n'est pas trs efficace. Typiquement il s'agit d'un alphabet d'une langue nationale europenne comme l'iso latin pour le franais.- On suppose qu'il y a des caractres communs au code caractre 8 bits et au code us-ascii. Ceux ci sont cods directement en us -ascii. Il s'agit des lettres de l'alphabet qui ne comportent pas de signes diacritiques, des chiffres et de certains signes. Une exception est faite pour le caractre = dont on va voir plus loin qu'il sert de caractre d'chappement. De manire prcise il s'agit des codes 33 127 de l'us-asscii.. - Les caractres spciaux 8 bits (par exemple en iso latin: , , , ...) sont cods par une squence de trois caractres =NM . L'ide essentielle est que l'octet reprsenter est divis en deux parties de 4 bits soient deux chiffres hxadcimaux 0, 1, 2, 9, A, B, C, D, E, F. N et M sont la reprsentation en code ASCII des deux chiffres. On codera ainsi un espace dont le code us-ascii est 32 par les trois caractres =20. Autre exemple une tabulation code ascii 9 sera code par les trois caractres =09.- Ce codage permet donc typiquement de rsoudre le problme des caractres spciaux dans les alphabets nationaux. Il faut indiquer quelque part dans le courrier quel alphabet est utilis pour afficher correctement les caractres spciaux.- Ce codage est donc surtout utilis lorsque le nombre de caractres incompatibles avec lus ascii nest pas trs lev et que ces caractres ne sont pas trs frquents. Le seuil cit est de 1/8 au maximum de caractres spciaux. Ca marche pour le franais avec l'alphabet iso latin.- Beaucoup de dtails seraient rajouter pour dcrire un fonctionnement rel (par exemple les lignes en quoted printable font toujours au plus 76 caractres).*- Nous prsentons maintenant le format base 64. Son objectif est de coder nimporte quelle donne binaire au format 8 bits en utilisant uniquement une reprsentation en caractres us ascii 7bits. Par rapport au codage 'quoted printable' le codage base 64 fait l'hypothse qu'au moins un huitime des caractres transmis n'est pas compatible avec le jeux des caractres 7 bits amricains.- L'ide de base consiste prendre des groupes de trois octets quelconques soient 24 bits. Si un texte n'est pas de longueur multiple de 3 on le complte par des caractres =. On code les groupes de 24 bits par quatre caractres us ascii. Chaque caractre doit donc coder 6 bits.- Il faut donc retenir 64 symboles diffrents dans le jeu us ascii pour coder des configurations quelconques sur 6 bits. Le transparent montre les 64 symboles retenus 26 majuscules, 26 minuscules, 9 chiffres et trois caractres spciaux + / .- Le volume est des donnes est augment d'un tiers. Finalement on produit des lignes de 54 caractres us ascii. - C'est la reprsentation d'octets quelconques en format caractres maintenant la plus utilise puisqu'elle est normalise par MIME.*Ce transparent est consacr au format caractre 8 bits. Avec ce format, MIME se propose de transporter des caractres dun jeu quelconque de caractres 8 bits. Il existe normment de jeux de caractres diffrents associs aux diffrents langues crites.- Un tel jeu de caractre jeu de caractre doit bien sur tre pr dfini et normalis. Comme on l'a dj dit, son utilisation doit tre indique par une entte content type comportant la directive charset, tout simplement pour qu'il puisse tre affich correctement par le destinataire.- Cependant si on utilise n'importe quel alphabet on peut donc supposer que pour coder les lettres, les signes diacritiques d'une langue, il pourra faire usage de n'importe quelle configuration 8 bits. Or certains caractres spciaux dans le jeu ascii amricain sont utiliss pour les besoins des protocoles de courrier lectronique (ne serait ce que des dlimiteurs comme . ; : / ). Ces codes spciaux pouvant tre utiliss dans un texte de courrier utilisant un alphabet quelconque peuvent crer des problmes d'interprtation des messages et peuvent certainement gnrer des erreurs.- Il est donc ncessaire de faire quelques modifications dans les formats de messages du protocoles SMTP. Ces modifications sont en fait dfinies dans le cadre de l'extension ESMTP. Nous ne dtaillons pas plus avant ce point ce qui ncessiterait trop de dtails.*Un dernier transparent sur le format binaire prvu par MIME.- Transmettre du binaire est possible en MIME avec le type application/octet-stream mais son utilisation pose de multiples problmes si lon se place dans le format de base de la messagerie lectronique Internet telle que dfinie par la RFC 822.-En effet les lignes en RFC 822 ne doivent pas faire plus de 1000 caractres ce qui oblige pour transmettre du binaire rajouter des CRLF de temps en temps bon escient.- Autre dtail, la dlimitation de la fin dun corps de message en binaire sous la forme dun point en dbut de ligne pose des problmes de transparence puisque le caractre point peut apparatre dans le binaire- Il faut donc trouver des solutions si l'on veut transmettre des flots d'octets (octet stream) autrement que recods en format base64. Comme pour le format caractre 8 bits et de faon similaire, des solutions sont proposes dans le cadre des extensions du protocole SMTP, ESMTP.*- On doit aussi rgler le problme des textes qui sont codes autrement quen ascii amricain dans les enttes. Par exemple dans un nom de destinataire, dans le sujet dun courrier lectronique on peut faire apparatre des accents graves ou aigus en franais.- La rgle dencodage qui a t dfinie pour transmettre et imprimer correctement de tels caractres est la suivante: on cadre par des caractres gal = trois champs spars par des points dinterrogation.. Le champ charset dfinit le jeu de caractre utilis par exemple pour le franais liso-latin 1 est codifi iso-8859-1. . On choisit ensuite entre lencodage quoted printable lettre Q et lencodage base64 lettre B. . On donne enfin la valeur de la chane encode.- Par exemple si dans un courrier on met comme sujet bonjour Grard on devra en fait transmettre en us ascii Grard comme de liso latin cod en quoted printable lettre Q majuscule et le accent aigu de grard apparatra comme=E9.*- Dans ce transparent et les suivants on donne quelques lments sur les directives spcifiques du format MIME que lon trouve dans les enttes de courriers lectroniques. Ces enttes dfinissent les types des donnes changes, les formats de caractres utiliss, les rgles dencodage de faon permettre la transmission sans problmes et ldition correcte des courriers par les clients de messagerie.- On voit sur le transparent cinq enttes nouvelles spcifiques de MIME.- Mime-versiondfinit la version de MIME utilise. Actuellement on est sur la version 1.- Content-typedfinit le type et les sous-type des donnes comme text/html. Un autre paramtre dfinit si ncessaire le jeu de caractres utilis dans le corps du message.- Content-Tranfer-Encodingdfinit lencodage utilis qu'on choisit entre quoted printable ou base 64- Content-IDdfinit un identificateur unique pour une partie d'un corps de courrier composite.- Content-Descriptiondfinit des informations complmentaires sur le contenu.

    *- Pour finir deux exemples d'enttes associes au format MIME. Sur ce transparent le premier exemple est celui dun courrier en caractre ISO-latin et donc adapt au franais. On choisit de l'encoder en format base 64. - On trouve tout d'abord une directive qui ne change gure c'est la version de MIME qui jusqu' prsent est la seule: MIME-Version: 1.0.- On indique ensuite sur la seconde ligne d'entte que le contenu est du texte caractre mais cod en ascii ISO latin 1 l'alhabet ASCII 8859-1.- On donne enfin l'encodage avec l'entte Content-transfer-encoding qui dclare en base64

    *Sur ce second exemple on prsente un contenu composite soit selon le terminologie MIME un format multipart. Il va donc y avoir plusieurs parties.- Aprs le rappel de la version MIME, le champ Content-Type dcrit ici un courrier de type multipart alternative. On rappelle que la directive alternative permet de transmettre diffrentes versions d'un mme document qui sont affichables par des afficheurs diffrents. On peut ainsi avoir une qualit plus ou moins bonne d'affichage en fonction de la disponibilit des afficheurs sur le site destinataire.- La directive content type comporte aussi un paramtre "boundary" qui spcifie la chane de caractre servant de dlimitation entre les diffrentes parties. On peut la redfinir de faon diffrente dans chaque courrier composite. Avec assez peu d'imagination on a dfini comme chane de caractre entre les diffrentes parties la chane simple limite. La ligne de dlimitation commence toujours par deux tirets ou deux signes moins. - Aprs content type et avant le dlimiteur qui est ici simple limite on pourrait mettre du texte par exemple des commentaires.Donc ce document comprend deux versions de la mme chose:- La premire version du document est du texte en format caractre franais. Nous avons dj vu les lignes d'entte de dfinition d'un tel document au transparent prcdent avec cette petite diffrence qu'on choist ici un codage en format quoted printable.- La seconde version du document est un document HTML. On peut afficher le courrier par un client de messagerie capable d'interprter du HTML. L'utilisation du format HTML en messagerie est de plus en plus frquente en raison des avantages de prsentation graphique que l'on peut retirer du HTML.

    *Quelques mots de conclusion sur le format MIME.- On peut tout d'abord dire que cr partir des besoins de la gestion de documents multimdia pour la messagerie, ce format a pris une importance considrable dans la dfinition des formats d'changes de donnes. C'est devenu Le format par excellence de transmission de fichiers de donnes multimdia.- Il incorpore pratiquement tous les formats de donnes: des centaines de types de donnes diffrents sont identifis dans les RFC MIME.- Le format MIME dispose d'un mcanisme dextension permettant dintgrer en permanence de nouveaux formats. Par exemple le format MIME ne disposait pas d'un format d'change pour les donnes types habituelles des programmes (entiers, flottants). Un tel format ayant t dfini dans le cadre de XML avec les web services (le format XML schma) rien n'empche maintenant d'changer par courrier lectronique des valeurs de types de donnes gnres par des programmes et ceci selon un standard ouvert.- MIME est utilis avec des modifications trs mineures par le protocole HTTP du WEB pour ses propres changes de donnes multimdia.- Enfin dans le cadre de MIME ont t dfinis des mcanismes de scuritpour les changes de courrier. Ils forment l'ensemble des normes SMIME (Secure MIME).

    *Nous prsentons maintenant les deux prtocoles de relve de courrier dans la messagerie Internet, les protocoles POP et IMAP.*- Au dpart on utilisait des systmes de messagerie avec tous les modules localiss sur la mme machine MUA, MTA? MDA, MAA.- Avec le temps les diffrentes fonctions ont t rparties et l'on eu besoin d'un protocle pour accder partir d'un client de messagerie MUA aux boites lettres d'un serveur de messagerie.- Ce protocole de transfert de courrier aurait pu tre SMTP mais on a trs vite dfini des fonctions plus prcises associes la relve de courrier. Par exemple faire la liste des courrriers arrivs pour un usager afin de transfrere ventuellement slectivement les courriers.- C'est ainsi qu'ont t drivs deux protcoles de relve de courriers.- Ils ralisent essentiellement des fonctions de transfert du courrier d'un serveur de messagerie vers un client de messagerie. Mais ils ralisent des fonctions de gestion des archvies de courrier comme la liste des messages en atente dans une boite ou la destruction d'un courrier quand celui-ci a t lu et ne sert plus rien.

    *POP (Post Office Protocole) est le protocole de relve le plus ancien et le plus simple.Son domaine d'utilisation par exceellence est le suivant. Un client demande une lkiste des messages en instance (qui sont arivs et qui n'ont pas t lus). Il transfre ces courriers un par un du serveur de messagerie vers le client de messagerie. Il dtruit les versions des courriers sur le serveur de messagerie puisque ces courriers sont maintenant consultables sur le poste client.- Ce mode de fonctionnement est donc caractris par la rgle suivant: les courriers ne sont grs sur le serveur et donc de manire encore plus gbnrale il n'ya pas de gestion d'archives de courriers par un usager sur le serveur de messagerie. - Par contre, toutes les manipulations du courrier reu sont effectues sur le poste client de l'usager ce qui est possible si l'usager interroge toujours du mme poste) mais ce qui pose problme si l'usager souhaite consulter son courrier partie de postes diffrents car il aura des archives de courriers distribues sur tous les postes qu'il utilise en consultation.*Ce transparent donne une liste des principales commandes de POP.USEROuvre une session de relve en donnant le nom de la boite lettre relever.PASSDonne le mot de passe en clair pour l'accs la boite lettre. Le courrier tant privatif ne peut tre relev que par le propritaire de la boite. La mthode est nanmoins trs rustique puisque le mot de passe circule en clair.APOPest une mthode d'authentifcation plus srieuse avec circulation crypte du mot de passe.STATdonne le nombre de courriers dans la boiteLISTdonne la liste des courriers prsents dans la boite (non dtruits avec un numro d'ordre).RETRretrieve transfere le courrier numro N vers le client de messagerieDELEdelete marque un courrier pour la suppressionLASTdonne le numro du dernier courrier consultRSET annule les actions dune session en particulier les courriers qui ont t marqus pour la destructionQUITtermine une session. C'est ce moment que les courriers marqus pour la destruction sont effectivement dtruits. De sorte qu'avec POP il est possible qu'une session de grand menage dans une boite lettre qui ne s'est pas bien termine pour cause de plantage ne donne aucun effet car les messages sont rests non effectivement dtruits.

    *- Le protocole IMAP4 Internet Message Access Protocol dans sa version 4 est le protocole de relve de courrier le plus rcent et le plus complet. Il peut faire tout ce que fait pop3 mais il peut faire des choses en plus. Il faut cependant tre bien conscient que IMAP4 est une boite outils assez riche mais l'utilisation des outils dpend d'une implantation de client de messagerie et des options dfinies par un usager. Autrement dit, si un client de messagerie utilise IMAP dans ses fonctions identiques POP il ne fera pas plus avec IMAP que ce que fait POP.- L'avantage principal de IMAP par rapport POP est celui de la gestion d'archives de courriers sur le site serveur de messagerie. L'objectif principal de cette fonctionalit est de faire grer les courriers pour les diffrents utilisateurs dans le serveur de messagerie.- Chaque usager disposant d'une boite lettre peut crer diffrents dossiers d'archives de courriers. IL reoit ses courriers dans un dossier par dfaut nomm INBOX. A partir de ce doissier il peut ventiler ses courriers dans ses diffrents autres dossiers.- Remarquons aussi que amliorer les performances (l'occupation du rseau et le temps de rponse) IMAP permet un utilisateur de rcuprer l'entte d'un message sans transfrer le corps ce qui diminue les donnes changes. De mme IMAP permet dans un un document composite (multipart) de transfrer une partie seulement en laissant les autres sur le serveur.- Enrsum IMAP est un protocole concu pour permettre la gestion des courriers sur le serveur de messagerie de l'entreprise et ainsi il rend trs aise la consultation des courriers partir de diffrents postes clients.*On nonce sur ce transparent une liste de quelques types de message IMAP4 sans beaucoup de dtails. L'ensemble des primitives est plus riche que dans POP et pour chaque directive les variantes possibles sont souvent multiples. Pour plus de dtails de IMAP4 il faut voir directement la RFC 2060.- Donc en IMAP4 on a une procdure d'ouverture et de fermeture de session avec login, logout et choix d'un mcanisme d'authentification (on peut par exemple slectionner une authentification avec Kerberos).- On peut surtout grer diffrentes boites lettre pour un mme usager avec des primitives create delete rename de boite lettre.- On peut faire de la gestion de courrier dans une boite lettre avec diffrentes primitives de slection de la boite lettre sur laquelle on travaille, liste status de l'tat d'une boite lettre, search de recherche dans une boiteselon diffrents critres. - fetch ralise la transmission des donnes, - copy recopie un courrier d'une boite dans une autre boite.- On a diffrentes fonctions annexes comme capability qui donnent les fonctions imap implantes par un serveur. On aussi une opration vide no operation.

    *Nous terminons ce cours par un bref survol des diffrents logiciels de messagerie Internet.*Nous nous intressons tout d'abord aux versions libres (open source) des serveurs de messagerie MTA.- Pendant longtemps les serveurs de messagerie ont t base sur l'implantation sous UNIX baptise sendmail. Cette implantation a t de nombreuses fois amliore. Elle est rpute difficile configurer (le fichier des directives de configuration d'un serveur sendmail qui s'appelle sendmail.cf est compliqu produire. On rapporte galement des problmes lis la scurit.Cette implantation reprsente encore une part importante du march. C'est encore le logiciel MTA le plus dploy.- Postfix est une implantation de MTA rcente et donc considre comme encore un peu jeune. Elle est rpute beaucoup plus facile configurer que sendmail.- Citons encore exim et qmail. Q mail est rput pour tre bien scuris.- On considre actuellement que les deux MTA les meilleurs sont postfix et qmail.*- Dans les messageries propritaires on rencontre les messageries implantes dans les grandes suites bureautiques intgres de microsoft (exchange) et IBM lotus notes / domino. On note que microsoft a fusionn ses MTA dvelopps dans le cadre de la messagerie exchange et dans le cadre du serveur web IIS.

    - Ipswitch propose un logiciel de messagerie assez bon march qui volue vers une suite bureautique.*- On rappelle que les serveurs de dlivrance de messages assurent la gestion des boites lettres, le filtrage des messages entrants et ventuellement les envois de rponse ou d'accuss de rception automatiques.- On a un certain nombre de versions de logiciels libres MDA comme procmail, deliver, mailfilter, maildrop.Par ailleurs les grandes suites bureautiques comprenant des messageries ont galement des implantations de MDA.- Notons au passage qu'il existe aussi des formats standards de boite lettre mbox le premier format dfini avec sendmail a volu un peu avec mailbox puis on a le format maildir.- Enfin c'est au niveau du MDA que l'entreprise peut installer des filtres de scurit gnraux. Les filtres anti spam protgent contre le courrier non sollicit et les filtres anti virus cherchent liminer les virus connus. Il y a une trs grande varit de filtres anti spam et anti virus.

    *- Les serveurs d'accs au courrier permettent un client de messagerie MUA d'accder une boite lettre en supportant un protocole de communication pour la relve des messa