Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les tutoriels > Non-Officiels > Réseaux > Général > Lecture du tutoriel

Ma boîte aux lettres: le serveur POP

Avatar
Auteur : yoch
Créé : le 11/01/2008 12:16:39
Modifié : le 15/04/2008 06:51:30
Noter et commenter ce tutoriel
Imprimer ce tutoriel
Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Comme vu plus haut, il y a en réalité deux types de serveurs pour récupérer les mails : les serveurs POP, et les serveurs IMAP. Nous allons tout d'abord découvrir le protocole le plus utilisé : POP3, qui est la version la plus récente des serveurs POP.

Le protocole POP est tout simplement "le langage" permettant de récupérer et de manipuler les e-mails se trouvant sur les serveurs POP.

Dans ce chapitre, nous allons apprendre à le faire avec Telnet. N'ayez pas peur, tout le monde devrait y arriver du premier coup. ^^

Bon, alors on y va....

Sommaire du chapitre :
Chapitre précédent Sommaire Chapitre suivant

Établir la connexion

Question : comment va-t-on s'y prendre pour se connecter au serveur POP ?



Ben... C'est simple, on lance un Telnet, et on fait :
open pop.laposte.net 25


Arrêtez, malheureux !

Si vous faites ça, vous recevrez un message du genre :
421 Cannot connect to SMTP server 191.251.214.115

Souvenez-vous que l'on n'utilise pas le même port pour deux services !


On va plutôt ouvrir la connexion sur le port 110.

Lancez Telnet, et tapez :

Code : Console
open pop.laposte.net 110

Pour ceux qui n'auraient pas suivi ^^ , cela signifie tout simplement que vous demandez d'établir une connexion avec le serveur pop.laposte.net sur le port 110.

Rappelez-vous que pop.laposte.net correspond à une adresse IP. Cela revient donc à écrire :

Code : Console
open 193.251.214.115 110

Essayez !



Si tout se passe bien, vous devriez avoir un retour du genre (en rouge) :

open pop.laposte.net 110
+OK connected to pop3 on 8201

Pourquoi cette fois il n'y a pas eu de message SMTP du genre "220..." comme tout à l'heure ?

Parce que l'on ne parle pas avec un serveur SMTP, mais avec un serveur POP, pardi ! :p
Les réponses du serveur POP sont très simples à comprendre (même si vous ne savez pas ce que veut dire OK ! :lol: ) :

Exemple d'un message d'erreur :
Code : Console
-ERR Unrecognized command

S'identifier

L'identification est ici cent fois plus simple :

user paul
+OK name is a valid mailbox
pass 123
+OK user exists with that password


Et voilà !

Il existe aussi une façon sécurisée de s'identifier, avec la commande APOP (qui n'est d'ailleurs pas supportée par tous les serveurs).

Manipuler ses mails

Lire son courrier



La première chose à faire est de vérifier si vous avez reçu un mail.
Je vais donc utiliser une nouvelle commande :

stat
+OK 1 2552


Le serveur me renvoie que j'ai 1 e-mail non lu, d'une longueur de 2552 octets.

Pour le lire, j'entre :
retr 1
+OK Message follows
.....
Subject: Dernière news.
Bla Bla Bla...


retr veut dire "récupère", et on lui passe en argument le numéro d'e-mail à récupérer (dans mon cas, 1).

Beaucoup de logiciels de messagerie envoient les e-mails au format HTML. Ne soyez donc pas étonnés si vous recevez du HTML.

OK, OK... Mais qu'est-ce que c'est que tous ces textes cabalistiques avant le message ?

Image utilisateur


Pas de panique ! :p Il faut savoir que les logiciels de messagerie et les serveurs SMTP qui se respectent envoient des tas d'informations sur la source de l'e-mail : ce sont les en-têtes du mail. Je ne vous demande pas de tout comprendre, mais jetez-y un coup d'oeil, c'est très instructif !

Et si j'ai plusieurs mails dans ma boîte de réception, il se passe quoi ?

Si jamais vous recevez une réponse du genre :
+OK 3 70204

...vous pouvez sans aucun problème faire :
retr 1
Bla Bla Bla...
retr 2
Bla Bla Bla...
retr 3
Et encore Bla...


Mais si vous désirez simplement connaître la taille de chacun des mails séparément, il existe une commande simple :
list
+OK scan listing follows
1 2323
2 3842
3 64039
.

Le listing se termine par un point à l'usage des courrieleurs qui doivent savoir où la liste s'arrête ! ça ne vous rappelle rien ?

Récupérer les en-têtes



D'aucuns voudront consulter les en-têtes avant de récupérer le mail. Pour cela, il existe une commande spéciale qui permet de récupérer un nombre de lignes précis du message, sachant que les lignes d'en-têtes ne sont pas comptées. On l'utilise par exemple ainsi :
top 1 0

J'ai demandé de récupérer 0 ligne sur le message numéro 1, ce qui me permet de récupérer uniquement les en-têtes.
Sur certains serveurs, il est obligatoire de récupérer au moins une ligne.

Effacer un message



Si je veux effacer le mail, je fais :

dele 1
+OK Message deleted


C'est pareil : dele veut dire "efface", et on lui passe en argument le numéro d'e-mail à effacer (dans mon cas, 1).
Note importante : le message n'est effacé que si vous quittez proprement le serveur.

Les pièces jointes

Comme envoyer une pièce jointe avec telnet est quasiment impossible, nous allons envoyer une pièce jointe de façon classique, puis la récupérer avec telnet.

Pour des raisons de simplicité, nous allons envoyer une pièce jointe toute simple.
Lancez votre éditeur de texte, puis entrez-y la phrase :

Image utilisateur


Sauvegardez le fichier au format .txt, et enfin envoyez-le à votre adresse mail.

Nous allons maintenant récupérer ce courrier avec telnet.
On lance telnet, on se connecte au serveur POP3 sur le port 110, on s'identifie, puis on vérifie que le mail est bien arrivé, et enfin on le récupère avec la commande retr.

Voici ce que ça donne chez moi (fin du message) :

Image utilisateur


Vous pouvez constater que le type MIME de la pièce jointe est donné :
Content-Type: text/plain
Ainsi que la description du fichier (pièce jointe), et son nom :
Content-Disposition: attachment; filename="texte.txt"

Et enfin (parce que ça ne pouvait quand même pas être si simple ^^ ) :
Content-Transfert-Encoding: base64
Ce qui veut dire que le fichier a été encodé en base64, comme c'est généralement le cas (si vous ne savez pas ce que c'est, vous devriez relire ceci ).

Pour vous en assurer, allez sur cette page (http://www.paulschou.com/tools/xlate/), et encodez la phrase que nous avons envoyée en pièce jointe.

Vous pouvez constater que la pièce jointe a été encodée en base64.

Image utilisateur


Et le pire, c'est que les pièces jointes seront toujours encodées en base64. Alors, imaginez-vous une image en base64 ! Et je ne vous parle pas de la longueur... :p
Voilà pourquoi il n'est pas très facile d'envoyer une pièce jointe avec telnet.

Quitter

Enfin, pour quitter, on fait comme tout à l'heure :
quit
+OK
Goodbye


Chapitre précédent Sommaire Chapitre suivant
Auteur : yoch
Noter et commenter ce tutoriel
Imprimer ce tutoriel

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | Fil RSS | XHTML 1.0 | CSS 2.0
Édité par Simple IT SARL : Nous contacter | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 287 Zéros connectés | Requêtes SQL 9 requêtes | Temps de génération de la page : Total (SQL) 0.0225s (0.01s)