Post Office Protocol
Norme utilisée par Up ! Mail Service
La norme Post Office Protocol (POP) décrit comment recevoir un courrier électronique depuis un serveur vers un client.
La communication au format Post Office Protocol (POP) s'effectue sur un flux dont le transport est TCP-IP. Ce flux est texte ou binaire.
La communication est à l'initiative du client : il pose une requête et le serveur répond. Le port d'écoute du serveur est usuellement 110.
Suite à l'acceptation du client par le serveur, le serveur lui envoie une banière unique composée de NumeroProcessus.DateEnSecondes@NomServeur qui sert de base à l'authentification sécurisée.
Une requête est une ligne de texte comportant une des commandes suivantes :
- APOP - Authentification sécurisée.
Le client s'identifie auprès du client sans transmettre un utilisateur et un mot de passe en clair. Le premier paramètre est le nom de l'utilisateur et le second la signature de la bannière d'accueil du serveur combinée au secret uniquement partagé par le client et le serveur.
- DELE - Delete.
Suppression d'un courrier électronique. Le client doit être connecté.
- LIST - List.
Listage de la description d'un ou plusieurs courriers électroniques. Le paramètre opétionnel est le numéro d'un courrier. Le client doit être connecté.
- NOOP - No Operation.
Ne fait rien. Dans les faits, test l'état du flux. Le client doit être connecté.
- PASS - Password.
Déclaration du mot de passe de connexion. Le paramètre est le mot de passe. Cette commande doit être précédée de la commande USER.
- QUIT - Quit.
Le client se déconnecte. Les courriers marqués pour la suppression sont supprimés. Le client doit être connecté.
- RETR - Retrieve.
Transfert d'un courrier électronique du serveur vers le client. Le paramètre est le numéro d'un courrier. Le client doit être connecté.
- RSET - Reset.
Efface les marques de suppression des courriers électroniques. Le client doit être connecté.
- STAT - Statistics.
Ecriture des statistiques d'usage du serveur. Le client doit être connecté.
- TOP - Top.
Envoi l'en-tête d'un courrier électronique suivi des n premières lignes. Le première paramètre est le numéro du courrier et le second la limite n.
- UIDL - Unique Identifier Listing.
Listage de l'identificateur d'un ou plusieurs courriers électroniques. Le paramètre est le numéro du courrier. Le client doit être connecté.
- USER - User.
Déclaration de l'utilisateur de connexion. Le paramètre est le nom de l'utilisateur. Elle doit être suivie de la commande PASS.
La ligne de la requête est terminée par les caractères saut de ligne \r et retour chariot \n.
La réponse à la requête est :
- Une ligne.
Elle est composé du code retour. Le format du libellé libre peut être imposé selon la commande :
- RETR - Retrieve.
Taille du courrier en octets.
- STAT - Statistics.
Nombre de courriers dans la boîte et taille de tous les courriers en octets.
- Plusieurs lignes.
La première ligne contient le code retour.
Les lignes suivantes sont formatées selon la commande :
- LIST - List.
Numéro de chaque courrier et taille de ce dernier en octets.
- UIDL - Unique Identifier Listing.
Numéro de chaque courrier et identifiant de ce dernier.
La ligne suivante contient uniquement le caractère point . .
Les lignes de la réponse sont terminées par les caractères retour chariot \r et retour chariot \n.
Codes retour utilisés par Up ! Mail Service
Le code retour +OK traduit un bon fonctionnement. Le code retour -ERR traduit une erreur de fonctionnement.
Syntaxe d'une conversation au format Post Office Protocol
Commandes :
Commande :
APOP
Utilisateur Signature \r\n
| DELE
NumeroMessage \r\n
| LIST
NumeroMessage \r\n
| NOOP
\r\n
| PASS
MotDePasse \r\n
| QUIT
\r\n
| RETR
NumeroMessage \r\n
| RSET
\r\n
| STAT
\r\n
| TOP
NumeroMessage NombreLignes \r\n
| UIDL
NumeroMessage \r\n
| USER
NomUtilisateur \r\n
;
NumeroMessage :
Exemple d'une conversation au format Post Office Protocol
Cette conversation ne concerne que les commandes :
USER scott\r\n
PASS tiger\r\n
LIST\r\n
RETR 1\r\n
RETR 2\r\n
QUIT\r\n