Changes between Version 2 and Version 3 of Realisations/2007-2008/Projet/Traces/IMAP
- Timestamp:
- Jun 14, 2008, 12:26:48 AM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Realisations/2007-2008/Projet/Traces/IMAP
v2 v3 34 34 <h4 style="text-align: left; color: red"> * A la connection le serveur se présente en informant de la version d'imap qu'il implémente </h4> 35 35 36 <h4 style="text-align: left"> * Le client demande alors <C00000 capability>: c'est à dire qu'il veut savoir quelles fonctions proposent le serveur </h4>36 <h4 style="text-align: left"> * Le client demande alors C00000 capability: c'est à dire qu'il veut savoir quelles fonctions proposent le serveur </h4> 37 37 38 38 <h4 style="text-align: left; color: red"> * Serveur l'informe qu'il y a besoin de s'authentifier et envoie un second message <C00000 ok capability completed> signifiant que l'etape c00000 est terminée</h4> 39 39 40 <h4 style="text-align: left"> * Le client envoie alors <C00001 LOGIN samir pfres>: l'étape c00001 correspond à l'authentification du client le login est samir et le mot de passe pfres, ils apparaissent en clair!</h4>40 <h4 style="text-align: left"> * Le client envoie alors C00001 LOGIN samir pfres: l'étape c00001 correspond à l'authentification du client le login est samir et le mot de passe pfres, ils apparaissent en clair!</h4> 41 41 42 42 <h4 style="text-align: left; color: red"> * Serveur informe que l'authentification est conforme, le login et pass fournis correspondent bien à un compte de messagerie avec le message <c00001 OK login completed> <br>On passe à l'Etat authentifié!</h4> 43 43 44 <h4 style="text-align: left"> * Le client envoie alors la requête <C00002 LIST "" "*" ><BR>45 la commande <LIST "reference name" "mailbox name">retourne un ensemble de noms de la série complète de tous les noms à la disposition du client. Les resultats contiennent le nom des attributs, le délimiteur de hiérarchie, le nom, et eventuellement la description de la liste de réponse.<BR>44 <h4 style="text-align: left"> * Le client envoie alors la requête C00002 LIST "" "*" <BR> 45 la commande "LIST reference name mailbox_name" retourne un ensemble de noms de la série complète de tous les noms à la disposition du client. Les resultats contiennent le nom des attributs, le délimiteur de hiérarchie, le nom, et eventuellement la description de la liste de réponse.<BR> 46 46 Dans notre cas, le client demande l'affichage de tous les noms de dossier de toutes les adresses mails rattachés au compte samir. Ici Samir n'a qu'une adresse mail: samir@ent2.com (ouf, çà simplifie les choses..) 47 47 </h4> 48 48 49 49 <h4 style="text-align: left; color: red"> * Serveur répond par deux messages: <br> 50 1) <* LIST () "/" "INBOX"><br>51 2) <* LIST () "/" "sent messages"><br>50 1) * LIST () "/" "INBOX" <br> 51 2) * LIST () "/" "sent messages" <br> 52 52 On comprend que les comptes rattachés au login samir@ent2.com ont deux dossiers: inbox (boite mails des mails arrivés) et sent messages (pour les messages envoyés) 53 53 </h4> 54 54 55 <h4 style="text-align: left"> * Le client envoie alors la requête <C00003 LSUB "" "*" ><BR>55 <h4 style="text-align: left"> * Le client envoie alors la requête C00003 LSUB "" "*" <BR> 56 56 La commande LSUB necessite 2 Arguments: "reference name" et "mailbox"<br> 57 57 Ainsi, de même, La commande LSUB retourne un sous-ensemble de noms de dossiers que l'utilisateur a déclaré comme étant «actifs».</h4> 58 58 59 59 <h4 style="text-align: left; color: red"> * On pouvait s'y attendre, le serveur répond par deux messages: <br> 60 1) <* LSUB () "/" "INBOX"><br>61 2) <* LSUB () "/" "sent messages"><br>60 1) * LSUB () "/" "INBOX" <br> 61 2) * LSUB () "/" "sent messages" <br> 62 62 On comprend que les 2 dossiers fournis precedemment par LIST sont actifs. 63 63 </h4> 64 64 65 <h4 style="text-align: left"> * Le client envoie alors la requête <C00004 SELECT INBOX><BR>65 <h4 style="text-align: left"> * Le client envoie alors la requête C00004 SELECT INBOX<BR> 66 66 Cette commande ne necessite qu'un seul Argument: "mailbox"<br> 67 67 Ainsi, on selectionne la boite de reception.<BR> … … 70 70 71 71 <h4 style="text-align: left; color: red"> * La boite de reception passe à l'etat SELECTIONNE. Le serveur vérifie alors l'etat de cette boite et envoie deux messages: <br> 72 1) <* 1 EXISTS><br>73 2) <* 1 RECENT><br>72 1) * 1 EXISTS <br> 73 2) * 1 RECENT <br> 74 74 On comprend que la boite ne comprend qu'un message, et que celui ci est récent, (pas forcément non encore ouvert un mail non ouvert apparait en général "unseen"). 75 75 </h4> 76 76 77 77 <h4 style="text-align: left"> * Dernier message du client.<BR> 78 Il demande <c00005 uid fetch 1: *><br>78 Il demande c00005 uid fetch 1: *<br> 79 79 La commande FETCH récupère les données associées à un message dans la boîte aux lettres. Les éléments de données à être récupérée peut être unique parenthésé ou une liste.<br> 80 80 Dans le cas présent, la commande UID FETCH 1:* RFC822.SIZE permet de recupérer tous les mails présents. On s'attend à ce que le serveur attribue un numéro "unique" à chaque message, et les fasse parvenir.</h4> 81 81 82 <h4 style="text-align: left; color: red"> * Le serveur n'a qu'un mail à afficher, il lui : <br> 83 1) <* 1 EXISTS> <br> 84 2) <* 1 RECENT> <br> 85 On comprend que la boite ne comprend qu'un message, et que celui ci est récent, (pas forcément non encore ouvert un mail non ouvert apparait en général "unseen"). 86 </h4> 82 <h4 style="text-align: left; color: red"> * Le serveur n'a qu'un mail à afficher, il lui attribue le numero 1 dans un premier message ainsi que sa date d'envoi. <br> 83 * Pour terminer, il l'envoie. 84 </h4> 85 }}} 86 87 Bah voilà, pas sorcier![[BR]] 88 On aurait pu tout taper à la main, mais plus laborieux:[[br]] 89 {{{ 90 #!rst 91 telnet imap.ent2.com 143[[BR]] 92 LOGIN samir pfres[[BR]] 93 SELECT INBOX[[BR]] 94 UID FETCH 10 95 }}}