Si vous vous reconnectez à votre serveur IMAP, vous constaterez avec horreur que votre message est toujours au statut non lu (UNSEEN).
Mais comment est-ce possible ?
C'est simple, si vous voulez que le message soit mis en lu, il faut avertir le serveur ! (un courrielleur l'aurait fait automatiquement, mais pas telnet).
C'est là qu'interviennent
les flags : les
flags (en anglais "drapeaux") permettent de déterminer le statut du mail.
Vous vous souvenez cette ligne :
* FLAGS (\Answered \Flagged \Draft \Deleted \Seen) ?
Elle nous donne les types de flags possibles :
- answered = répondu ;
- flagged = post-it ;
- draft = brouillon ;
- deleted = supprimé ;
- seen = lu.
Tant que vous n'avez pas ajouté le flag
(/Seen), le message sera toujours considéré comme non lu !
Voici comment procéder :
5 store 1 +flags (\deleted)
* 1 FETCH (FLAGS (\Deleted \Seen))
5 OK Completed
Maintenant, il n'y a plus de mail non lu. Néanmoins, le mail existe toujours sur le serveur.
Eh oui, le serveur nous a dit qu'il marquait le mail en (\Deleted), donc forcement il existe toujours !
Pour supprimer le mail définitivement, il y a
encore une autre commande :
6 expunge
* 1 EXPUNGE
* 0 EXISTS
* 0 RECENTS
6 OK Completed
OK, mais alors il sert à quoi le répertoire INBOX.TRASH ?
Bonne question !
La réponse est que si vous faites
expunge, le mail est supprimé
définitivement.
Mais si on veut simplement l'envoyer "à la corbeille", il y a le
trash pour cela.
Pour cela, il aurait fallu faire :
6 copy 1 INBOX.TRASH
6 OK [COPYUID 1199996497 38 1] Completed
7 expunge
* 1 EXPUNGE
* 0 EXISTS
* 0 RECENTS
7 OK Completed
Il faut copier le mail dans le trash avant de faire expunge, sans quoi le mail n'existe plus !
La commande copy ne fait que copier le mail dans le trash, sans l'effacer de la boite principale !