Maildir

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Maildir
Тип

Архив электронных писем

Разработчик

Daniel J. Bernstein

Последняя версия

Maildir — это распространённый формат хранения электронной почты, не требующий монопольного захвата файла для обеспечения целостности почтового ящика при чтении, добавлении или изменении сообщений. Каждое сообщение хранится в отдельном файле. Все изменения делаются при помощи атомарных файловых операций, таким образом, монопольный захват файла ни в каком случае не нужен. Maildir — это каталог (чаще всего с именем Maildir) с тремя подкаталогами: tmp, new и cur.

При доставке сообщения оно помещается в файл в подкаталоге tmp (например, SMTP сервером postfix), имя файла формируется из текущего времени, имени хоста, идентификатора процесса, создавшего этот файл, и некоторого случайного числа — таким образом, гарантируется уникальность имен файлов. После записи в файл всего сообщения создается жесткая ссылка на этот файл в каталоге new, а текущая ссылка из tmp удаляется — это делается для того, чтобы никакой другой процесс не смог прочитать содержимое сообщения до тех пор, пока оно не будет записано полностью. По такому же алгоритму при чтении сообщения (это может делать как MUA, так и другой MDA, предоставляющий доступ к Maildir по протоколу POP3 или IMAP) оно перемещается в каталог cur, при этом название файла изменяется: к нему добавляются пометки о прочтении, ответе, удалении и т. д.

Maildir++ — это дальнейшее усовершенствование Maildir с поддержкой вложенных каталогов IMAP (они должны начитаться с «.») и квот.


Содержание

[править] Технические операции

Алгоритм² генерации уникальных имен файлов сочетает в себе время и имя хоста³.

Когда программа находит новые письма, то перемещает их в cur и добавляет информационный суффикс к имени файла перед тем как прочесть их.

[править] Проблемы с lockless-операцией

Когда программа говорит, что сообщение было удалено, а на самом деле только пометки были изменены. Когда этот процесс обходит к списку сообщений опять же, «удален» внезапно появляется снова.

Mac OS X with HFS Plus (но не с ZFS) появляется, чтобы избежать этих проблем. Этот вопрос можно также избежать с Linux, внеся изменения в Maildir.

[править] Программное обеспечение, которое поддерживает непосредственно Maildir

[править] Почтовые серверы

  • Postfix SMTP сервера
  • Qmail SMTP-сервер, для которого формат Maildir был создан
  • XMail, с открытым исходным кодом кросс-платформенной (* Nix и Windows) SMTP и POP3-сервера
  • exim , [1]

[править] Примечания

Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Участие
Печать/экспорт
Инструменты
На других языках