Large Qmail Patch For Netqmail With Vpopmail Rating: 5,7/10 507 votes

Обрабатываем почтовую очередь в Qmail. Январь 6, 2016Январь 6, 2016 admin. Qmail не является последним словом в технологии доставки почты, но этот smtp демон до сих пор очень распространен. В частности многие сервера с Plesk панелью используют именно Qmail. Для того что бы посмотреть список сообщений ожидающих отправки (посмотреть очередь доставки) можно воспользоваться следующей утилитой: /var/qmail/bin/qmail-qread. Посчитать количество сообщений в очереди поможет следующий скрипт: /var/qmail/bin/qmail-qstat. Добавлено Один минус конечно в vpopmail нашол сразу через веб интерфейс работает просто отвратительно А для Qmail ну всяких других Unix-их вещей нашол коечто другое называется Webmin Работает на всем подряд и для почти всех видов Unix. Автор: Zmey Дата сообщения: 14:01. Люди подскажите неграмотному.

Жизнь с qmail Мельников А.В. 21 мая 2001 Содержание Документ нацелен на всех, кто заинтересован управлением qmail, от новичка, кто только что инсталлировал Linux на отдельной машине, до опытного администратора системы или почтового администратора. Если что-то неясно или недостает, сообщите мне. Присылайте комментарии. Из различных источников можно получить массу информации по qmail.

Некоторая нацелена на новичков, другая предполагает, что читатель более опытен. Этот документ пытается эту информацию в единственный источник, заполняя некоторые пробелы и предполагает, что читатель имеет базовые знания, такие как:. манипуляция с файлами/директориям под UNIX. работа в браузере или FTP клиенте. следование руководствам. Qmail это Агент Передачи Почты (Mail Transfer Agent - MTA) для unix-подобных операционных систем. Это замена системы Sendmail поставляемая с UNIX операционными системами.

Qmail использует Простой Протокол Передачи Почты (Simple Mail Transfer Protocol - SMTP) для обмена сообщениями с MTA на других системах. Обратите внимание: имя 'qmail', а не 'Qmail'. Ваша операционная система включила MTA, вероятно Sendmail, так что если Вы читаете этот документ, то Вы вероятно ищете что-то лучшее. Некоторые из преимуществ qmail над поставляемыми MTA: ь qmail был сделан для обеспечения высшей безопасности. Sendmail имеет длинную историю связанную с серьезными проблемами безопасности.

Когда Sendmail был написан, Сеть была намного дружелюбнее. Каждый знал каждого, и не было такой потребности в проектировании и программировании высокой безопасности.љ Сегодняшний интернет - более враждебная среда для сетевых серверов. Автор Sendmail Эрик Аллман проделал хорошую работу для усиления программы, но небольшое перепрограммирование не позволит достичь истинной безопасности.

Параллельная доставка почты, выполняющая (по умолчанию) до 20 доставок одновременно. Как только qmail примет сообщение, он гарантирует, что оно не будет потеряно. Qmail также поддерживает новый формат почтового ящика, который работает надежно даже без запирания NFS.

Qmail меньше, чем любые другие эквивалентные MTA. Примечание: официальная веб-страничка на более полно описывает преимущества qmail. Qmail написал Дэн Бернстеин (Dan Bernstein), профессор математики в Университете Штата Иллинойс в Чикаго. Dan Bernstein также известен за его работу в области криптографии и его судебный процесс против американского правительства относительно публикации исходников шифрования. Информация по судебному процессу доступна наљ Первая доступная редакция qmail 0.70beta 24 января 1996 года.љ Первая редакция qmail 0.70gamma 1 августа 1996 года.

Версия 1.0 - первая распространенная редакция была анонсирована 20 февраля 1997 года. Текущая версия 1.03 была выпущена 15 июня 1998 года. Следующий выпуск, как ожидается, будет версией 2.0.

Некоторые из возможностей, которые могли бы появиться в версии 2, охвачены. Веб-страница на имеет исчерпывающий список.

Этот подраздел рассмотрен здесь более серьезно. Автоматическая адаптация к вашему unix варианту. Автоматическая конфигурация хоста.

Быстрая установка - нет большого списка решений. Ясное разделение между адресами, файлами, и программами. Минимизация кода setuid. Минимизация кода root. Пятистороннее разделение доверия - полная безопасность. Дополнительная регистрация некоторых сообщений, всех сообщений и т.д.

В приложении E.). Совместимость с и. Полная поддержка адресных групп.

Автоматическое преобразование адресов старого стиля в формат. Команда sendmail для совместимости с текущими агентами пользователя. Длина строки Header ограничена только памятью.

Маскировка хоста (См. ).

Маскировка пользователя (См. И ). Автоматическая установка љMail-Followup-To (См. Используется Имя пользователя в заголовке From (3) QMAILINJECT флаги Буква Назначение c Использовать стиль адрес-комментарий в поле Fromљ s Не смотреть на любое поступающее поле Return-Path f Удаляет любое входящее поле From i Удаляет любое входящее поле Message-ID r Использовать на каждого получателя переменный путь возвращения конверта m Использовать на каждое сообщение переменный путь возвращения конверта Примечание переводчика: по поводу почтовых адресов, конвертов и VERP хорошо описано в man-странице addresses(5). 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, и доступен из архива.

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

Patch

Пользователи могут написать procmail рецепты (инструкции доставки), которые используют для регистрации сообщения. Вы можете вместо procmail использовать.

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

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

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

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

Если вы инсталлировали qmail скрипт из раздела, то он расположен в control/defaultdelivery. Если нет, то он возможно в скрипте /var/qmail/rc в строке команды qmail-start. Скачайте программу checkpassword отсюда. Стандартный checkpassword это хороший выбор, если вы не нуждаетесь в чем-то экзотичном. Скомпилируйте и устанавливайте checkpassword согласно инструкциям. Убедитесь, что инсталлировали его в каталог /bin. Для простого использования 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 в этом примере) было имя программы.

Large Qmail Patch For Netqmail With Vpopmail

Другие 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. Если нуждаетесь в POP демоне, который работает с почтовыми ящиками формата mbox, можете использовать qpopper.

Vince Vielhaber написал патч доступный здесь, который заставит qpopper работать с почтовыми ящиками находящимися в домашнем каталоге пользователя. Qpopper доступен. POP3 сервер Solid поддерживает оба почтовых ящика и maildir, и mbox. Доступен здесь. Harris имеет патч, который добавляет maildir поддержку к IMAP серверу и дкументировал инсталляционный процесс. Sam Varshavchik написал IMAP сервер, который поддерживает почтовые ящики только формата maildir.

Доступен здесь. 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 требует этого.

Large Qmail Patch For Netqmail With Vpopmail

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

Getmail - программа, которая выкачивает почту с POP сервера и доставляет ее в почтовые ящики формата maildir. Это скрипт написанный на Python'е, так что возможно придется устанавливать интерпретатор Python'а перед тем, как вы сможете использовать getmail. Getmail написал Charles Cazabon, страничка. Скажем вы MTA, и один из ваших пользователей посылает сообщение трем пользователям на hostx.example.com. Есть несколько путей, которыми Вы могли бы сделать это. Вы могли бы открыть SMTP подключение к hostx, послать копию сообщения первому пользователю, послать копию второму пользователю, послать копию третьему пользователю, затем закрыть соединение. Вы могли бы запустить три процесса, каждый из которых открывает SMTP подключение к hostx, посылает копию сообщения одному из пользователей, затем закрывает соединение.

Вы могли бы открыть 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%. Когда сообщение не может быть доставлено, 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' и '@'. (Символ '@' в адресе подписчика заменяется символом '='.) Менеджер рассылки использует VERP для автоматической обработки рикошетов.

Он даже обеспечивает подписчиков, с временными проблемами доставки, списком сообщений, которые они пропустили, так что они могут извлечь их из архива. Russell Nelson написал менеджер рикошетов для Majordomo под qmail, но он давно его не поддерживает. Доступно здесь.