Інформація про особливості qmail - формат maildir

формат Maildir

Д.Дж.Бернстейн разом з новим MTA, запропонував використовувати і новий формат поштових скриньок - Maildir. Спробуємо коротко розібратися в перевагах і недоліках використання нового формату.

Як відомо, все нове приживається зазвичай насилу: необхідно, щоб пропоноване нововведення наголову перевершувало наявні зразки, лише тоді є надія, що на нього хоча б звернуть увагу. Отже, більшість традиційних MUA не підтримують формат Maildir, для додаткових серверів (IMAP, POP3 і т.п.) потрібні або рідні варіанти програм qmail, або заплатки. Для помірного консерватора вже досить: краще все залишити як є.

Гаразд, уявімо ситуацію: відбувається крах ситеми під час доставки повідомлення. Для файлів у форматі mbox це означає, що повідомлення буде мовчазно обрізане і приєднано до наступного повідомлення. Далі, mbox формат передбачає під час доставки пошти конкретного користувача оновлення єдиного центрального файлу програмою доставки. Якщо програма не використовує механізм замикання (lock), центральний файл може бути зіпсований.

Користувач може намагатися видалити повідомлення з поштової скриньки в той же самий момент, коли доставляється нове повідомлення. В цьому випадку, при використанні формату mbox для користувача програма читання пошти повинна знати про використання механізму замикання програмою доставки.

Відомо, що NFS (Network File System) не використовує надійного механізму замикання. Це, як уже говорилося, може призвести до того (для формату mbox), що при можливу доставку пошти двома машинами деякого користувачеві або при читанні користувачем пошти звідки-небудь, крім самої машини, що здійснює доставку пошти - існує ризик втратити частину поштових повідомлень. Що неприємно. Так, формат mh володіє практично тими ж недоліками, що і mbox.

А що ж Maildir? Maildir - структура каталогів для зберігання вхідної пошти. Каталог в форматі Maildir складається з трьох підкаталогів: tmp, new і cur.

Каталог tmp використовується для забезпечення гарантованої доставки повідомлень. Програма доставки здійснює такі операції: переходить в каталог Maildir; створює (з деякими попередніми перевірками унікальності і відсутність помилок) файл tmp / time.pid.host, де time - число секунд з 1970 року по часу GMT (Гринвічем), pid - ID процесу доставки (гарантія унікальності - створюється для кожної доставки викликом fork ), host - ім'я машини; записує повідомлення в файл; переміщує повідомлення в new / time.pid.host.

На цьому закінчу цей короткий огляд. Отже, вибір за Вами: деякі аргументи представлені. Якщо Ви зважилися, то, по-перше, можете подивитися FAQ про переключення на використання Maildir. По-друге, цей процес можна певним чином автоматизувати на майбутнє, а саме модифікувати скрипт adduser, додавши туди створення каталогу Maildir (maildirmake), доповнити дот-файли (dot-files), що копіюються системою в домашній каталог при додаванні нового користувача, встановивши необхідні змінні оточення (см.FAQ про Maildir), створити там файл типу dot.qmail містить рядок ./Maildir/
Тепер, при додаванні нового користувача будуть проводитися необхідні операції, що забезпечують роботу поштової системи при використанні формату Maildir.