[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
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....
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
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
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 !
Les réponses du serveur POP sont très simples à comprendre (même si vous ne savez pas ce que veut dire
OK !

) :
- si la phrase commence par le signe +, c'est bon ;
- si elle commence par le signe -, eh bien, c'est pas bon !
Exemple d'un message d'erreur :
Code : Console | -ERR Unrecognized command |
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).
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 ?
Pas de panique !

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.
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 :
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) :
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.
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...
Voilà pourquoi il n'est pas très facile d'envoyer une pièce jointe avec telnet.
Enfin, pour quitter, on fait comme tout à l'heure :
quit
+OK
Goodbye