Всё что связано с qmail

Установка и описание возможностей qmail
Mail & Инструкция по установке CMS e107 & qmail Жизнь с qmail (статья) &
6 Благодарности
3 Конфигурация qmail
9 FAQ qmail
4 Использование qmai
7 Пакеты имеющие отн
qmail полная статья
5 Расширенные темы q
8 Разное по qmail
2 Установка qmail
1 Введение

5. Расширенные темы
5.1. procmail
5.2. POP и IMAP сервера
5.4. Мульти-RCPT против единственной RCPT доставки
5.5. VERP
5.6. Выявление неисправностей
5.7. Большие сервера
5.8. Переход от Sendmail к qmail
5.9. Менеджеры рассылок
5.10. Заплатки
5.11. QMTP
 

5. Расширенные темы

5.1. procmail

procmail - популярный агент доставки сообщений (Message Delivery Agent -- MDA). Функция MDA принятие сообщения от MTA для определенного пользователя или почтового ящика, и доставить сообщение согласно желаниям пользователя. procmail может использоваться для "фильтрации" сообщений в зависимости от содержания различных полей заголовка или тела сообщения. Например, сообщения от специфического человека могут быть направлены на почтовый ящик, созданный для принятия сообщений только от этого человека.

Есть пара хитростей для совместного выполнения procmail с qmail. Для начала: procmail обычно строится, чтобы доставлять сообщения в почтовый ящик формата mbox в каталоге /var/spool/mail.

Вы можете перекомпилировать procmail, чтобы не выполнялась доставка к $HOME, или Вы можете инструктировать пользователей не полагаться на procmail, чтобы не выполнять обязательств по расположению mbox.

Если Вы не исправите его для $HOME доставки, procmail будет по-прежнему использовать /var/spool/mail для временных файлов.

Другая проблема это то, что qmail-command, и procmail не имеют  общего понимания кодов завершения и что они означают. procmail использует стандартные юниксоидные коды завершения: нулевое значение означает успешное завершение, ненулевое значение означает неудачное завершение, и причина неудачи указана файлом /usr/include/sys/errno.h. qmail-command использует некоторые коды отличный от нуля, для указания постоянных ошибок, и остальные коды рассматриваются как временные ошибки.

Маленький скрипт может использоваться для транслирования кодов завершения для qmail-command. Такой скрипт была отправлен в рассылку qmail, и доступен из архива http://www.ornl.gov/its/archives/mailing-lists/qmail/1998/04/msg00487.html.

Также, более старые версии procmail (до 3.14) не доставляют непосредственно в почтовые ящики maildir-формата. Ваша лучшая ставка -- модернизировать до текущей версии procmail. Другой подход -- safecat. Это программа пишет сообщение со стандартного ввода в указанный maildir. Пользователи могут написать procmail рецепты (инструкции доставки), которые используют safecat для регистрации сообщения. Вы можете вместо procmail использовать maildrop.

Наконец, procmail ожидает, что сообщения, которые он получает, были в формате mbox. Обычная qmail доставка включает только фактическое почтовое сообщение, не включая строку " From ". Команда preline может использоваться для форматирования сообщения, поскольку procmail ожидает этого.

Пример: пусть, скажем Дэйв, хочет, чтобы его почта обрабатывалась procmail. Его системный администратор скомпилировал procmail для доставки к  $HOME по умолчанию, и обеспечил его переобработчиком  выходных кодов /usr/local/bin/qmail-procmail. Его .qmail файл будет выглядеть так:

|/var/qmail/bin/preline /usr/local/bin/qmail-procmail dave

5.2. POP и IMAP сервера

qmail включает POP сервер -- qmail-pop3d , но он не конфигурируется и устанавливается как часть в процессе установки qmail. Вы можете также использовать другие доступные POP и IMAP сервера, хотя большинство из них было написано для Sendmail и потребуют некоторой доработки для использования с qmail.

5.2.1. qmail-pop3d

qmail-pop3d -- POP сервер идущий с qmail. Это превосходный POP сервер, и многие qmail сайты используют его. Он состоит из модулей и поддерживает многочисленные схемы аутентификации через альтернативный модуль аутентификации.


Примечание: qmail-pop3d поддерживает почтовые ящики только maildir-формата, таким образом, если Вы имеете пользователей регистрирующихся на сервере POP и выполняющих почтовые программы локально, они все должны поддерживать maildir. Если все ваши пользователи читают почту через POP, формат почтового ящика на сервере не принципиален.

5.2.1.1. Архитектура qmail-pop3d

Сервер qmail-pop3d состоит из трех модулей:

  • qmail-popup -- получает имя/пароль
  • checkpassword -- устанавливает подлинность имени/пароля
  • qmail-pop3d -- демон POP

Обычно qmail-popup запускается посредством inetd или tcpserver, прослушивающих 110 порт (POP3). Когда соединение установлено он запрашивает имя и пароль. Затем вызывает checkpassword, который сверяет имя/пароль и вызывает qmail-pop3d если они верны.

5.2.1.2. Установка qmail-pop3d

  1. Полностью установите и протестируйте qmail. Если вы хотите чтобы все пользователи имели POP совместимые почтовые ящики убедитесь, что defaultdelivery содержит ./Maildir/. Если вы инсталлировали qmail скрипт из раздела <Установка>, то он расположен в control/defaultdelivery. Если нет, то он возможно в скрипте /var/qmail/rc в строке команды qmail-start.
  2. Скачайте программу checkpassword отсюда http://www.qmail.org/top.html#checkpassword. Стандартный checkpassword (http://cr.yp.to/checkpwd.html) это хороший выбор, если вы не нуждаетесь в чем-то экзотичном.
  3. Скомпилируйте и устанавливайте checkpassword согласно инструкциям. Убедитесь, что инсталлировали его в каталог /bin.
  4. Для простого использования POP сервера, добавьте в файл /etc/inetd.conf нижеследующее, все в одной строке:
    pop3   stream  tcp     nowait  root    /var/qmail/bin/qmail-popup qmail-popup
      hostname.domain /bin/checkpassword /var/qmail/bin/qmail-pop3d  Maildir

Примечание: Некоторые системы, в особенности Red Hat Linux, не называют POP3 порт "pop3". Проверьте в файле /etc/services соответствие имени порту 110. Также, проверьте man-страницу inetd чтобы удостовериться что строка сформирована правильно. Одна из мудреностей это то, что некоторые inetd требуют первым аргументом программы  (qmail-popup в этом примере) было имя программы. Другие inetd хотят только <реальные> аргументы.

Скажите "kill -HUP номер-процесса-inetd", чтобы перечитать /etc/inetd.conf.

Для перегруженных систем лучше использовать tcpserver.

Для использования tcpserver, добавьте следующее в ваш скрипт запуска qmail (не  inetd.conf):

    tcpserver -v -R 0 pop3 /var/qmail/bin/qmail-popup FQDN \
        /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1 |   \
        /var/qmail/bin/splogger pop3d &

где pop3 имя POP3 службы указанное в /etc/services и FQDN - полное имя домена, на котором устанавливаете POP сервер, например pop.example.net.

5.2.2. qpopper

Если нуждаетесь в POP демоне, который работает с почтовыми ящиками формата mbox, можете использовать qpopper. Vince Vielhaber написал патч доступный здесь http://www.qmail.org/qpopper2.53.patch.tar.gz, который заставит qpopper работать с почтовыми ящиками находящимися в домашнем каталоге пользователя. qpopper доступен на http://www.eudora.com/freeware/qpop.html.

5.2.3. Solid

POP3 сервер Solid поддерживает оба почтовых ящика и maildir, и mbox. Доступен здесь http://solidpop3d.pld.org.pl/.

5.2.4. imap-maildir

David R. Harris имеет патч, который добавляет maildir поддержку к IMAP серверу и дкументировал инсталляционный процесс. См. http://www.davideous.com/imap-maildir/.

5.2.5. Courier-IMAP

Sam Varshavchik написал IMAP сервер, который поддерживает почтовые ящики только формата maildir. Доступен здесь http://www.inter7.com/courierimap/.


5.3. POP и IMAP  клиенты

5.3.1. fetchmail

fetchmail -- программа, которая выкачивает почту с POP или IMAP сервера и снова инжектирует ее локально. fetchmail не имеет проблем с извлечением почты от qmail серверов, но имеются пара уловок чтобы он работал хорошо на qmail клиенте.

Здесь пример .fetchmailrc для пользователя на qmail системе:

poll mail.example.net proto pop3 nodns
    user dsill with password flubgart is dave here
    fetchall forcecr to * here

Это заставляет fetchmail соединиться с mail.example.net через POP3, зайти на него как пользователь dsill, с паролем flubgart, получить все сообщения и доставить из на dave@localhost. Параметр forcecr заставляет fetchmail в конец каждой строки возврат каретки когда сообщение инжектирует на локальной системе посредством SMTP.

qmail требует этого.


Примечание: fetchmail не очень надежен. Если повторное инжектирование неудачно по любой причине (например, ошибка форматирования, которое вызывает рикошет или нет запущенного SMTP сервера), сообщение будет потеряно.

5.3.2. getmail

getmail -- программа, которая выкачивает почту с POP сервера и доставляет ее в почтовые ящики формата maildir. Это скрипт написанный на Python'е, так что возможно придется устанавливать интерпретатор Python'а перед тем, как вы сможете использовать getmail.

getmail написал Charles Cazabon, страничка http://www.qcc.sk.ca/~charlesc/software/getmail/.


5.4. Мульти-RCPT против единственной RCPT доставки

Скажем вы MTA, и один из ваших пользователей посылает сообщение трем пользователям на hostx.example.com. Есть несколько путей, которыми Вы могли бы сделать это.

  1. Вы могли бы открыть SMTP подключение к hostx, послать копию сообщения первому пользователю, послать копию второму пользователю, послать копию третьему пользователю, затем закрыть соединение.
  2. Вы могли бы запустить три процесса, каждый из которых открывает SMTP подключение к hostx, посылает копию сообщения одному из пользователей, затем закрывает соединение.
  3. Вы могли бы открыть SMTP подключение к главному компьютеру, послать копию сообщения, адресованного всем трем пользователям, затем закрыть соединение.

Первый метод несомненно худший из трех. Даже если бы сообщение небольшое, оно воспримется по меньшей мере как длинное. И если сообщение большое, оно воспримется значительно длиннее и потребует большей сетевой пропускной способности. So scratch that one.

Вторые и третьи методы немного более интересны.

Третий метод открывает только одно подключение к hostx, и посылает только одну копию сообщения. Это эффективное использование пропускной способности.

Второй метод использует многочисленные связи и посылает многочисленные копии сообщения. Это "растрачивание" пропускной способности, но из-за природы протокола SMTP требует меньшие задержки подтверждения, и быстрее чем третий метод. Это также проще чем третий метод, так что MTA может быть запрограммирован в более простой манере. И наконец, поскольку каждый получатель получает свою собственную копию сообщения, возможно для MTA осуществить VERP (смотрите следующую секцию)

qmail всегда использует второй метод (единственный RCPT). Нет патчей осуществить третий метод (множественные RCPT)--это потребует значительной доработки. Хотя есть патологические случаи, где это может быть медленнее чем множественный RCPT; простота и преимущества VERP перевешивают.

Единственная поставка RCPT использует большую пропускную способность, чем множественная RCPT поставка, но различие часто преувеличено. Большинство сообщений имеет, самое большее, имеет пару получателей, и они обычно на разных хостах, так что мульти-RCPR доставка ничего не выигрывает. Даже на сервере рассылок, где мульти-RCPT поставка могла бы помочь, потенциальные прибыли небольшие, поскольку SMTP использует только долю полосы пропускания из большинства связей -- HTTP обычно получает львиную долю.

Например, если 10% пропускной способности вашей спутниковой связи приходится на SMTP, и ваша пропускная способность SMTP могла бы быть уменьшена, скажем на 25%, использованием мульти-RCPT доставки, что только снизит вашу пропускную способность SMTP до 7.5%.


5.5. VERP

Когда сообщение не может быть доставлено, MTA решает возвратить рикошетное сообщение на обратный путь конверта (envelope return path -- ERP). Рикошетное сообщение должно включать адрес получателя, причину из-за которой сообщение не доставлено и какая проблема, временная или постоянная. Все же некоторые MTA делают это неправильно. Они могут послать рикошет по адресу из поля From заголовка, либо рикошет не может идентифицировать получателя.

Для большинства сообщений "пользователь пользователю", эти проблемы не слишком ужасны. Можно обычно разобраться по содержанию и времени рикошета. Для рассылки, проблема плохих рикошетов более серьезна. Подписчики перемещаются, пересылают почту на их новый адрес. Если новый адрес начинает иметь проблемы доставки, то становится невозможным  сообщить, какая почта подписчика рикошетирует, если рикошетное сообщение включает только новый адрес.

Dan Bernstein представил на суд то, что он назвал VERP (Variable Envelope Return Path - переменный обратный путь конверта). Используя VERP, каждое сообщение, посланное каждому подписчику из списку имеет уникальный обратный путь. Это позволяет обрабатывать рикошеты для идентификации проблемы подписчика.

Напрмер:  типичная не-VERP основанная рассылка имеет обратный адрес формы listname-owner@domain. Для VERP рассылки обратный адрес выглядит так listname-owner-subscriber=sdomain@ldomain, где адрес подписчика -- subscriber@sdomain, вставлен между "owner" и "@". (Символ "@" в адресе подписчика заменяется символом "=".)

Менеджер рассылки ezmlm использует VERP для автоматической обработки рикошетов. Он даже обеспечивает подписчиков, с временными проблемами доставки, списком сообщений, которые они пропустили, так что они могут извлечь их из архива.

Russell Nelson написал менеджер рикошетов для Majordomo под qmail, но он давно его не поддерживает. Доступно здесь http://www.qmail.org/bounceman-0.4.shar.


5.6. Выявление неисправностей

5.6.1. Процессы

Должным образом работающая, полная, но минимальная qmail установка должна всегда иметь следующие четыре процесса:

  • qmail-send выполняется под пользователем qmails
  • qmail-clean выполняется под пользователем qmailq
  • qmail-rspawn выполняется под пользователем qmailr
  • qmail-lspawn выполняется под пользователем root

В зависимости от вашего любимого  UNIX, одна из следующих двух команд должна вывести список эти процессов, и возможно чуть больше:

    ps -ef | grep qmail
    ps waux | grep qmail

Например:

  • [dave@sparge dave]$ ps waux|grep qmail
  • dave 2222 0.0 0.8 836 348 p4 S 10:25 0:00 grep qmail
  • qmaild 351 0.0 1.0 840 400 ? S N 12:43 0:00 /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb -u 49491 -g 31314 0 smtp /var/qmail/bin/qmail-smtpd-
  • qmaild 2220 0.0 1.0 844 420 ? S N 10:25 0:00 /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb -u 49491 -g 31314 0 smtp /var/qmail/bin/qmail-smtpd-
  • qmaill 365 0.0 0.8 748 344 ? S N 12:43 0:00 splogger qmail
  • qmailq 368 0.0 0.7 736 292 ? S N 12:43 0:00 qmail-clean
  • qmailr 367 0.0 0.6 732 272 ? S N 12:43 0:00 qmail-rspawn
  • qmails 350 0.0 0.8 776 336 ? S N 12:43 0:00 qmail-send
  • root 340 0.0 0.6 724 252 ? S N 12:43 0:00 /usr/local/sbin/supervise /var/supervise/qmail-send /var/qmail/rc
  • root 341 0.0 0.6 724 252 ? S N 12:43 0:00 /usr/local/sbin/supervise /var/supervise/tcpserver-qmail /usr/local/bin/tcpserver -v -x /etc/tcp.smtp
  • root 366 0.0 0.7 736 276 ? S N 12:43 0:00 qmail-lspawn ./Mailbox [dave@sparge dave]$

Если вы запустили qmail или qmail-smtpd под supervise, как в примере выше вы увидите эти процессы также. И если qmail-smtpd запущен под tcpserver, вы увидите родительский tcpserver процесс плюс дополнительный процесс tcpserver для каждого активного входящего SMTP соединения.

Если Вы используете splogger (или multilog или cyclog) для регистрации, у вас будет splogger (или multilog или cyclog) процесс или два запущенных под пользователем qmaill.

Также, если qmail занят доставкой сообщений локально или удаленно, вы увидите до concurrencylocal qmail-local процессов и до concurrencyremote qmail-remote процессов.

5.6.2. Регистрация

5.6.2.1. splogger

splogger использует систему регистрации syslog для отметки времени сообщений и посылает их в демон syslog. syslog конфигурируется посредством /etc/syslog.conf. Сообщения посылаемые в syslog имеют принадлежность и приоритет. Данные в /etc/syslog.conf отфильтровывают сообщения по принадлежности и приоритету, для направления сообщений в желаемый регистрационный файл, удаленный регистрационный хост или на консоль. splogger регистрирует принадлежность почты, по умолчанию, так, что применив команду grep с параметром mail на syslog.conf файл вы должны получить расположение qmail'овского лог файла.

Обычное месторасположение:

  • /var/log/syslog
  • /var/adm/SYSLOG
  • /var/log/maillog

Типичная syslog запись выглядят так:

Jun  3 11:35:23 sparge qmail: 928424123.963558 delivery  153: success: did_1+0+0/

"Jun 3 11:35:23" - временная отметка в syslog.

"sparge" имя системы, которая послала сообщение

"qmail:" метка, которую splogger помещает на все qmail записи.

"928424123.963558" дополнительная отметка времени в TAI формате (см. следующий раздел).

"delivery 153: success: did_1+0+0/" само регистрационное сообщение.

5.6.2.2. multilog

multilog является частью пакета daemontools, регистрирует сообщения в ряде файлов в указанном каталоге.

Каталог регистрации определяется в командной строке multilog, который вы можете найти исследовав запускающий скрипт qmail.

Количество файлов в регистрационном директории, и максимальный размер каждого файла, определяются multilog опциями. Имена лог-файлов являются  TAI (Temps Atomique International) отметками времени когда файл был начат. Команда tai64nlocal из пакета daemontools конвертирует TAI время в нормальный, удобочитаемый вид.

Типичная multilog запись выглядят так:

@4000000038c3eeb104a6ecf4 delivery 153: success: did_1+0+0/

"@4000000038c3eeb104a6ecf4" необязательная, но ремондуемая, TAI отметка времени. "delivery 153: success: did_1+0+0/" само регистрационное сообщение.

5.6.2.3. Сообщения в регистрационных файлах

Вот типичная последовательность в логе для сообщения, посланного с локальной системы на удаленную систему:

1 @4000000038c3eeb027f41c7c new msg 93869
2 @4000000038c3eeb027f6b0a4 info msg 93869: bytes 2343 from <dave@sill.org> qp 18695 uid 49491
3 @4000000038c3eeb02877ee94 starting delivery 2392: msg 93869 to remote  lwq@w3.to
4 @4000000038c3eeb0287b55ac status: local 0/10 remote 1/20
5 @4000000038c3eeb104a13804 delivery 2392: success: 209.85.127.177_accepted_message.
   /Remote_host_said:_250_CAA01516_Message_accepted_for_delivery/
6 @4000000038c3eeb104a4492c status: local 0/10 remote 0/20
7 @4000000038c3eeb104a6ecf4 end msg 93869

Строка 1:  qmail получил новое сообщение и его идентификатор в очереди 93869. Идентификатор является номером i-node файла /var/qmail/queue/mess/NN/ - файл в очереди, который содержит сообщение. Идентификатор гарантированно будет уникальным, пока сообщение находится в очереди

Строка 2: сообщение от dave@sill.org и его длина 2343 байта.

Строка 3: qmail-remote запустил доставку сообщения к lwq@w3.to, и его присвоенный идентификатор для отправки 2392.

Строка 4:  на рассмотрении 0 локальных доставок и 1 удаленная.

Строка 5: доставка 2392 завершена и успешна, возвращается ответ от удаленного сервера, часто содержащий информацию, которую удаленный почтовый администратор находит полезной при трассировке доставки. В этом случае, "CAA01516" идентификатор доставки с удаленной системы.

Строка 6:  на рассмотрении 0 локальных доставок и 0 удаленных, т.е. доставка закончена.

Строка 7: сообщение полностью доставлено и удалено из очереди. Теперь идентификатор очереди равный 93869 может быть повторно использован для других доставок.

 

5.7. Большие сервера

Также смотри qmail-ldap.

5.7.1. Масштабируемый параллелизм

Используйте быстрый NFS сетевой файловый сервер для хранения каталогов пользователя. Установите множество равно-привилегированных SMTP серверов доставляющих почту в maildir почтовые ящики на файловом сервере.

 

5.8. Переход от Sendmail к qmail

Сначала прочтите страничку (автор Dan Bernstein) Sendmail->qmail - http://cr.yp.to/qmail/sendmail.html.

 

5.9. Менеджеры рассылок

Менеджеры рассылок это системы помогающие производить рассылку писем. У них два главных режимы работы: управление списком подписчиков, и контролирование посылки сообщений подписчикам.

Большинство (все?) менеджеры рассылок могут быть приспособлены для работы с qmail

5.9.1. ezmlm

ezmlm написал Dan Bernstein, автор qmail. Он был написан для использования с qmail и полагается на некоторые особенности qmail. В особенности он использует VERP для надежной доставки рикошетных сообщений.

Ezmlm несколько уникален среди менеджеров рассылок, он не обрабатывает команды посланные на центральный адрес менеджера: он добавляет команду в имя рассылки. Например, подписавшись на рассылку foo@list.example.net пошлется сообщение к "foo-subscribe@list.example.net".

Для большей информации о ezmlm, смотри http://www.ezmlm.org/ -- неофициальный web-сайт, и официальный ezmlm-idx -- включает много хороших дополнений.

5.9.2. Majordomo

Majordomo другой популярный менеджер рассылок под UNIX. Он превосходно работает с qmail после проделанных небольших изменений. Russ Allbery написал FAQ о совместной работе qmai и Majordomo, доступно здесь http://www.eyrie.org/~eagle/faqs/mjqmail.htm.

 

5.10. Заплатки

Различные заплатки исходных кодов доступны для qmail. Чтобы инсталлировать их, скачайте их, перейдите в каталог с исходниками qmail и примените их используя команду patch:

    cd /usr/local/src/qmail/qmail-1.03
    patch -p0 </tmp/patchfile

Остановите qmail,  убив процесс qmail-send или если вы инсталлировали скрипт qmail из секции "Установка" выполните:

    /usr/local/sbin/qmail stop

Затем перекомпилируйте и установите новые бинарники:

    make setup check

5.10.1. DNS

Исторически, ответы DNS были ограничены 512 байтами. Некоторые большие сайты возвращают MX ответы длиннее чем 512 байт. qmail и многие другие программы имеют проблему с DNS запросами, которые возвращают очень большие результаты. Есть два пути исправить это в qmail:

5.10.1.1. Сдвинуть размер буфера пакета до 65536.

BIND работает с библиотекой resolver, которая автоматически сделает TCP запрос в рамках библиотечного кода, если возвращается ответ с установленным битом truncate (прим. перев.: более подробно можно прочесть здесь - http://ed.rk.tusur.ru/doc/TcpIp/tcp14.html). Это легко исправить, хотя это потенциально растрачивает память, в зависимости от того как ваша система ей оперирует. Чтобы сделать это, просто замените значение PACKETSZ на 65536 в dns.c и перекомпилируйте qmail.

5.10.1.2. Патч Christopher K. Davis'а

Доступен здесь http://www.ckdhr.com/ckd/qmail-103.patch. Это адаптация патча Чаком Фостером, которая должна работать с любой resolver библиотекой, независимо от того насколько она стара, и использует байт защиты для избежания библиотечной ошибки "число байт помещенных в буфер". Он перераспределяет только раз, к 65536, а не просто в нужный размер, из-за чего он может быть менее память-эффективным, чем патч Чака (хотя, подобно его патчу, он только перераспределяет, если ответ больший чем PACKETSZ, который по умолчанию равен 512 байт).

После перераспределения, он вынуждает TCP запрос, скорее чем это сделает библиотека resolver (избежав дополнительных "полетов" туда-обратно между qmail и сервером имен, хотя если они находятся на одной и той же машине или локальной сети, то это не большая проблема).

 

5.10.2. qmail-ldap

Патч Andre Oppermann'а, выполняет в  qmail поддержку облегченного протокола службы каталогов (Lightweight Directory Access Protocol - LDAP). LDAP подобен сетевой телефонной книге. Использовав qmail-ldap POP сервер сможет оперировать  тысячами пользователей. Смотри http://www.nrg4u.com/.

 

5.11. Quick Mail Transfer Protocol

QMTP -- быстрый  протокол электронной почты, замена протокола SMTP разработанная Дэном Бернстейном. Протокол описан http://cr.yp.to/proto/qmtp.txt. QMTP - подобен SMTP, но проще, быстрее и несовместим с SMTP. qmail включает QMTP сервер, qmail-qmtp, который запускается подобно qmail-smtp. QMTP обычно использует порт 209.

qmail не включает QMTP клиента, но пакет serialmail его содержит. maildir2qmtp берет почтовый ящик maildir формата и доставляет сообщения, которые он содержит на определенный QMTP сервер, посредством протокола QMTP.

 
 

Другие разделы блога:
qmail Жизнь с qmail (статья) & Инструкция по установке CMS e107 & Mail &
©GRoM
Реклама: контекстная реклама челябинск. Продажа готовых сайтов. образование детей за рубежом языковые поездки. шкафы-купе Реутов. игра одень куклу. everquest 2 info. автосервис фольксваген. уничтожение кротов, дезинфекция. жалюзи створки окон. автострахование в компании Рекон ОСАГО