protocole POP : post office protocol
POP ( post office protocol ) ( la version standard est POP3, definie dans la RFC 1939) est la manière
dont les clients email récupèrent les emails sur les serveurs internet.
Comme la plupart des protocoles internet, il est basé sur la ligne de commande,
c'est à dire que toutes les operations sont faites à partir d'un texte de
commandes qui est envoyé au serveur. Il est donc tres simple de simuler un client
à partir d'une connection telnet sur le serveur ( et le bon port ), il est donc
aussi facile d'écrire un client spécialisé à certaines taches
basées sur le mail.
Le serveur POP3 écoute sur le port 110, Si vous faites un telnet vers un serveur POP3 sur
le port 110, vous obtiendrez quelque chose du genre :
+OK POP3 pop3.serveur.com v4.38 server ready
La ligne commence par un indicateur d'état +OK. Chaque réponse
commence par +OK ou -ERR. Faciiiile !!
Au début de la session, vous êtes en mode login. Les seules commandes
autorisées sont USER, PASS et QUIT.
Donc pour vous logger :
> USER nicolas
> PASS coucou
Faciiiile (bis) !!
Une fois que vous etes loggés, vous avez accés à votre mailbox, il ne reste plus qu'à
utiliser les commandes suivantes:
STAT |
Cette commande renvoie une ligne avec 2 nombres : le premier correspond
au nombre de messages, le second à la taille totale des messages. En fait, cette
commande ne nous sert pas a grand chose !!.
|
LIST |
LIST donne le contenu de la mailbox de la façon suivante:
LIST
+OK Mailbox contents follow
1 7774
2 513
3 10493
.
La dernière ligne est simplement un point, méthode assez standard dans
les protocoles sur le mail. Chaque ligne est composée du numéro du message et de sa taille.
Attention les numéros ne sont pas forcément sequentiels !! Si vous
en supprimez un il disparait simplement.
|
RETR msg |
RETR récupère un message. Utilisez le numéro fournit par LIST. Vous
allez recevoir l'entête du message, puis le contenu et enfin une ligne avec simplement un point.
Si le contenu a une ligne avec simplement un point, il sera doublé, à vous
donc de corriger l'affichage pour supprimer les doublons inutiles.
|
DELE msg |
DELE supprime un message, mais il ne sera réellemnt supprimer qu'au moment
de la commande QUIT, vous pouvez donc le récupérer avec la commande RSET.
|
TOP msg n |
TOP renvoie l'entête du message plus les n premières lignes de son contenu.
n peut etre nulle. Cette commande est optionelle mais généralement
supportée.
|
QUIT |
QUIT termine la session et supprime les messages marqués par DELE.
|
|
Voila ça devrait vous suffire pour faire plein de trucs rigolos,
à commencer par écraser par erreur les mails sur votre serveur :-) .
Une dernière info quand même. POP étant un protocole texte sur une connexion telnet, si
vous vous authentifié en utilisant la méthode USER/PASS, votre mot de passe circule en claire
sur le réseau. Vous pouvez donc utiliser la commande APOP (facultative et donc pas toujours
supportée par le serveur) qui s'utilise de la façon suivante: APOP login digest .
Le digest est la signature MD5 de votre mot de passe et du tag renvoyé par le serveur au moment de la connexion. (voir RFC pour plus de détails)
|
|
|