L'etat TRANSACTION
5. L’état TRANSACTION
Une fois que le client s’est identifié avec succès auprès du serveur POP3 et que le serveur POP3 a verrouillé et ouvert le dépôt de courrier approprié, la session POP3 est à présent dans l’état TRANSACTION. Le client peut maintenant émettre plusieurs fois n’importe qu’elle commande POP3 suivante. Après chaque commande, le serveur POP3 émet une réponse. Eventuellement, le client émet la commande QUIT et la session POP3 entre dans l’état MISE-A-JOUR (UPDATE).
Voici les commandes POP3 valides dans l’état TRANSACTION :
STAT
Arguments :
aucun
Restrictions :
ne peut être donné que dans l’état TRANSACTION
Discussion :
Le serveur POP3 émet une réponse positive avec une ligne contenant des informations sur le dépôt de courrier. Cette ligne est appelée " listing de dépôt " (" drop listing ") pour ce dépôt de courrier.
Dans le but de simplifier l’analyse, tous les serveurs POP3 doivent utiliser un certain format pour les listings de dépôt. La réponse positive est formée de " +OK " suivi par un simple espace, le nombre de message dans le dépôt de courrier, un simple espace et la taille du dépôt de courrier en octets. Ce document ne fournit aucune spécification sur ce qui suit la taille du dépôt de courrier. Les implémentations minimales peuvent simplement terminer cette ligne de réponse par la séquence CRLF. Des implémentations avancées peuvent inclure d’autres informations.
NOTE : Ce document recommandent FORTEMENT aux implémentations de ne pas fournir d’informations supplémentaires dans la listing de dépôt. D’autres aménagements (optionnels) sont discutés plus loin, concernant ce qui permettrait au client d’analyser les messages dans le dépôt de courrier.
Attention, les messages marqués comme effacés ne sont comptés dans aucuns des totaux.
Réponses possibles :
+OK nn mm
Exemples :
C : STAT
S : +OK 2 320
LIST [msg]
Arguments :
un numéro de message (optionnel), qui, s’il est présent, NE peut PAS faire référence à un message marqué comme effacé
Restrictions :
ne peut être donné que dans l’état TRANSACTION
Discussion :
Si un argument a été donné et que le serveur POP3 émet une réponse positive, cette ligne contient des informations sur ce message. Cette ligne est appelée " listing de scan " (" scan listing ") pour ce message.
S’il n’y a pas d’argument et que le serveur POP3 émet une réponse positive, alors la réponse comporte plusieurs lignes. Après la séquence initiale " +OK ", pour chaque message dans le dépôt de courrier, le serveur POP3 répond par une ligne qui contient des informations sur ce message. Cette ligne est aussi appelée " listing de scan " (" scan listing ") pour ce message. S’il n’y a pas de message dans le dépôt de courrier, alors le serveur POP3 répond sans listing de scan -- il émet une réponse positive suivie par une ligne contenant un point et la séquence CRLF.
Dans le but de simplifier l’analyse, tous les serveurs POP3 doivent utiliser un certain format pour les listings de scan. Le listing de scan est formé du numéro de message du message, suivi d’un simple espace puis de la taille exacte du message en octets. Les méthodes pour calculer la taille exacte d’un message sont décrites dans la section suivante " Format d’un message ". Ce document ne fournit aucune spécification sur ce qui suit la taille du message dans le listing de scan. Les implémentations minimales peuvent simplement terminer cette ligne de réponse par la séquence CRLF. Des implémentations avancées peuvent inclure d’autres informations, obtenues à partir d’une analyse du message.
NOTE : Ce document recommandent FORTEMENT aux implémentations de ne pas fournir d’informations supplémentaires dans le listing de scan. D’autres aménagements (optionnels) sont discutés plus loin, concernant ce qui permettrait au client d’analyser les messages dans le dépôt de courrier.
Attention, les messages marqués comme effacés ne sont pas listés.
Réponses possibles :
+OK suivi d’un listing de scan
-ERR numéro de message invalide
Exemples :
C : LIST
S : +OK 2 messages (320 octets)
S : 1 120
S : 2 200
S : .
…
C : LIST 2
S : +OK 2 200
…
C : LIST 3
S : -ERR no such message, only 2 messages in maildrop
RETR msg
Arguments :
un numéro de message (nécessaire) qui NE peut PAS faire référence à un message marqué comme effacé
Restrictions :
ne peut être donné que dans l’état TRANSACTION
Discussion :
Si un serveur POP3 émet une réponse positive, alors la réponse comporte plusieurs lignes. Après la séquence initiale " +OK ", le serveur POP3 envoie le message correspondant au numéro de message donné en paramètre, en faisant attention au codage des lignes commençant par un point (comme pour toutes les réponses comportant plusieurs lignes).
Réponses possibles :
+OK suivi du message
-ERR numéro de message invalide
Exemples :
C : RETR 1
S : +OK 120 octets
S : <le serveur POP3 envoie le message entier ici>
S : .
DELE msg
Arguments :
un numéro de message (nécessaire) qui NE peut PAS faire référence à un message marqué comme effacé
Restrictions :
ne peut être donné que dans l’état TRANSACTION
Discussion :
Le serveur POP3 marque le message comme effacé. Toute future référence dans une commande POP3 au numéro de message associé à ce message marqué comme effacé générera une erreur. Le serveur POP3 n’efface pas réellement le message tant que la session POP3 n’entre pas dans l’état MISE-A-JOUR (UPDATE).
Réponses possibles :
+OK message effacé
-ERR numéro de message invalide
Exemples :
C : DELE 1
S : +OK message 1 deleted
…
C : DELE 2
S : -ERR message 2 already deleted
NOOP
Arguments :
aucun
Restrictions :
ne peut être donné que dans l’état TRANSACTION
Discussion :
Le serveur POP3 ne fait rien, il retourne simplement une réponse positive.
Réponses possibles :
+OK
Exemples :
C : NOOP
S : +OK
RSET
Arguments :
aucun
Restrictions :
ne peut être donné que dans l’état TRANSACTION
Discussion :
Si des messages ont été marqués comme effacés par Le serveur POP3, cette marque est enlevée (comme avant la commande DELE). Le serveur POP3 retourne ensuite une réponse positive.
Réponses possibles :
+OK
Exemples :
C : RSET
S : +OK maildrop has 2 messages (320 octets)
traducteur : Nicolas JOURDAN
|