Maildir
# Maildir

Maildir ist eine Verzeichnisstruktur zum Speichern und Verwalten von E-Mails. Jede E-Mail wird dabei als eigene Datei in fest definierten Verzeichnissen repräsentiert. Das Speicherkonzept von Maildir kommt ohne die Verwendung komplizierter Locking-Mechanismen aus, da sich das Betriebssystem auf Grund der Datenstruktur komplett um diese Aufgabe kümmern kann.

## Speicherkonzept

Im Gegensatz zum Dateikonzept mbox und im Unterschied zum Dateienkonzept von MH hat ein Maildir mindestens drei obligatorische Ordner, die automatisch durchlaufen werden.

* tmp – Dieser Ordner enthält E-Mails, die gerade eingehen.
* new – Dieser Ordner enthält eingegangene E-Mails, die noch nicht gelesen wurden.
* cur – Dieser Ordner enthält eingegangene E-Mails, die bereits gelesen wurden.

Auf dieser klaren Trennung gründet die besondere Zuverlässigkeit von Maildir. Es wurde von Dan Bernstein entwickelt und mit seinem qmail erstmals realisiert.

Maildir erspart, im Gegensatz zu anderen Speicherkonzepten, konkurrierende Prozesse durch Locks in einer Warteschlange zu halten. Dies wird nicht allein durch separate Ordner erreicht, sondern auch durch das Erzeugen einmaliger Dateinamen ähnlich einem Fingerabdruck. Jeder Dateiname beginnt mit der Uhrzeit seiner Erstellung, gefolgt von einem Punkt sowie einer möglichst einmaligen Zeichenkette, und endet nach einem weiteren Punkt zunächst mit dem Hostname des Absenders. Die mittlere Zeichenkette kann beispielsweise aus der Process ID und Zufallszahlen bestehen. Wenn die Dateien den Ordner cur erreichen, werden ihre Namen um einen Doppelpunkt und verschiedene Flags erweitert, die ihre weitere Verwendung für eine Antwort und ähnliches dokumentieren.

Maildir++ ist eine Erweiterung von Maildir, die MH-ähnlich zusätzliche Unterordner und außerdem Quota unterstützt. Sie wurde von Sam Varshavchik entwickelt und mit seinem Courier Mail Server erstmals realisiert.

Solche Unterordner sind zur individuellen Sortierung oder Organisation der E-Mails nutzbar, werden direkt unter dem Hauptordner Maildir angeordnet, durch einen führenden Punkt im Namen versteckt, und durch leere Dateien mit dem Namen maildirfolder markiert. Jeder dieser Unterordner erhält und enthält drei Unterordner wie der Hauptordner Maildir. Verschachtelung ineinander ist nicht vorgesehen, aber beliebigen Emulierungen durch erweiterte Ordnernamen mit Trennzeichen freigestellt. Nicht festgelegt aber gängige Praxis seit Anbeginn sind zusätzliche Dateien zum automatisierten Mapping für IMAP.

## Programme

Zwischen Mailservern und Mailclients ist weder abstimmungsbedürftig noch erkennbar, ob der eine oder andere Maildir einsetzt, wenn ihre Verbindung durch die üblichen Netzwerkprotokolle für E-Mail erfolgt.

Beide Referenzimplementierungen sind modular aufgebaut und laden zur verbreiteten Kombination mit und von speziellen Alternativen im selben Dateisystem ein. Dazu zählen beispielsweise Postfix und Exim sowie Dovecot, die Maildir als Option anbieten.

Zu den E-Mail-Programmen für oder mit Maildir gehören beispielsweise:

* Gnus
* KMail
* Mutt
* Evolution
* Mozilla Thunderbird (jedoch keine vollständige Unterstützung und eventuell fehlerhaft)
