Entendendo as flags do Maildir

Vira e mexe o SysAdmin é indagado por alguém se ele pode visualizar se uma mensagem foi lida ou não em uma caixa de email ( IMAP ) que esteja usando o padrão Maildir ( primariamente, um padrão utilizado pelo Qmail, ainda o sistema de email que para mim é o mais confiável existente no mundo, apesar de hoje usar em muitas soluções o Postfix ).

No padrão Maildir todas as mensagens gravadas nos diretórios são arquivos. E por serem arquivos eles podem ser lidos como um simples ls. 

E, o mais legal do padrão Maildir é que ele tem uma série de símbolos que dizem o status da mensagem. Veja só.

O nome de um arquivo no diretório Maildir segue mais ou menos isto aqui:

in.9348.20100927175632:2,RST 

O negrito é onde vamos nos prender para visualizar o que foi feito com a mensagem. Após o :2, estão as tags que iremos nos prender para entender o que o usuário efetuou em seu cliente de email. 

E para saber o que foi feito no cliente de email do usuário, é só dar uma olhada aqui nas flags, para responder as perguntas : 

  • Flag "P" (passed): o usuário reenviou/fez forward/deu bounce na mensagem para alguém.
  • Flag "R" (replied): o usuário respondeu a mensagem.
  • Flag "S" (seen): o usuário viu a mensagem, embora possa não ter lido toda ela. 
  • Flag "T" (trashed): o usuário moveu a mensagem para o lixo, mas o lixo não foi limpo desde o último acesso a caixa.
  • Flag "D" (draft): o usuário considerou esta mensagem um rascunho; ação feita pelo usuário.
  • Flag "F" (flagged): flag definida pelo usuário, ou seja, ação totalmente feita pelo usuário.

Resumindo, tendo estas tags em mãos, você sempre vai conseguir responder este tipo de pergunta sem problema, em um sistema que utilize o Maildir.