Mailbox info flags in E-Mail-Dateinamen
Wenn man seinen Mailserver so eingestellt hat, dass er die Mails im Maildir Format ablegt, erhält man für jede E-Mail eine eigene Datei im entsprechenden Maildir Verzeichnis. Und diese Dateien, speziell die Dateinamen, will ich heute mal etwas genauer unter die Lupe nehmen. Die Dateinamen entsprechen grundsätzlich dem Format Basisname:2,Info-Flags. Startet das Info-Feld mit “:2,” so bedeutet dies, dass jeder Buchstabe nach dem Komma einem Flag entspricht. Diese Flags haben standardmäßig folgende Bedeutung:
P (passed): E-Mail wurde beantwortet, weitergeleitet oder zurückgewiesen
R (replied): E-Mail wurde beantwortet
S (seen): E-Mail wurde gelesen
T (trashed): E-Mail wurde in den Müll verschoben (nicht endgültig gelöscht)
D (draft): E-Mail wurde als Entwurf gespeichert
F (flagged): E-Mail wurde gekennzeichnet (z.B. wichtig, todo, usw.)
Benutzt man jetzt z.B. Dovecot als IMAP Server, so hat man die Möglichkeit diese Standard Flags um 26 individuelle Flags zu ergänzen. 26 deshalb, weil diese jeweils durch den entsprechenden Buchstaben im Alphabet repräsentiert werden. Diese Keywords kann jeder User ganz individuell für sein Konto belegen, wobei z.B. Thunderbird einige Keywords wie “Junk” und “NonJunk” bereits vorinstalliert. Die Zuordnung Index -> Keyword passiert in der Datei dovecot-keywords. Diese könnte beispielsweise so aussehen:
0 $Forwarded
1 $MDNSent
2 Junk
3 NonJunk
4 $label1
5 $label3
6 $label5
7 $label2
8 $label4
9 $TODO
10 Beispiel
Bei der Benennung der E-Mail-Dateien im Maildir werden dann die Zahlen in Buchstaben umgewandelt und nach ihrem vorkommen in der Ascii-Tabelle sortiert. Hier mal ein paar Beispiele (Der Sinn der Aktions-Kombis sei dahingestellt
).
Mail gelesen (S)
xx.name.xx:2,S
Mail gelesen (S), weitergeleitet (a):
xx.name.xx:2,Sa
Mail gelesen (S), als Junk markiert (c), weitergeleitet (a) und beantwortet (R):
xx.name.xx:2,RSac
Mail gelesen (S), als Junk markiert (c), weitergeleitet (a), beantwortet (R) und dann gelöscht (T):
xx.name.xx:2,RSTac
Mail gelesen (S), als wichtig (e) und Beispiel (k) markiert
xx.name.xx:2,Sek
Aber Achtung: Dieses letzte Beispiel könnte in einem anderen Profil schon wieder etwas ganz anderes bedeuten. Je nach dem, was dieser Benutzer für eine Bedeutung auf die Keywords e und k (4 und 10) in seinem Profil gelegt hat. Vielleicht bedeutet es also für jeman anderen “unwichtig” und “unbekannt”.
