Дополнительные возможности |
Дополнительное ПО.
fastforward
Пакет fastforward используется для поддержки системы алиасов sendmail - /etc/aliases. Напомню, что qmail имеет свой собственный механизм алиасов - использование файлов ~aliases/.qmail-anything .dot-forward
Пакет dot-forward используется для поддержки файлов .forward от sendmail. Напомню, что qmail позволяет обрабатывать приходящие к you@yourhost и you-anything@yourhost почтовые сообщения в соответствие с инструкциями в файлах ~you/.qmail, ~you/.qmail-anything . Поместите строку
|forward addresses
в файл ~you/.qmail, и вся поступающая к you@yourhost почта будет перенаправляться по указанным адресам (с сохранением копии в Вашем почтовом ящике).ezmlm
Современный менеджер списков рассылок ezmlm - поддерживает автоматическую подписку, подтверждения, архивы, полностью автоматическую обработку возвратов и др.checkpassword
Пакет checkpassword используется для обеспечения работоспособности POP3 сервера.
Программа qmail-popup принимает имя пользователя и пароль, после чего вызывает программу checkpassword, производящую авторизацию пользователей. При успешной авторизации checkpassword устанавливает переменные окружения $USER, $SHELL и $HOME, далее запускает программу qmail-pop3d, которая устанавливает POP3-соединение между почтовым клиентом и почтовым каталогом пользователя ($HOME/Maildir).
Нужно отметить, что при работе с qmail имеется возможность использовать любой тип авторизации по Вашему желанию - существует несколько подобных checkpassword программ, способных осуществлять авторизацию пользователей (см. qmail home - раздел 'checkpassword').serialmail
Пакет serialmail используется для доставки почты из каталога Maildir к SMTP серверу.qmailanalog
Пакет qmailanalog используется для обработки лог-файлов qmail различными способами.
Если у Вас до сего времени использовался pop3 сервер, то он будет продолжать работать с почтовыми ящиками в формате Mailbox ($HOME/Mailbox), если только Вы сделали символические ссылки из /var/spool/mail/$HOME на $HOME/Mailbox (хотя, как Вам наверное известно, pop3 сервер в своем исходном виде страшно дырявая штука). Настройка POP3 сервера (qmail-pop3d).
Родной qmail POP3(qmail-pop3d) сервер по соображениям безопасности и сохранности работает только с почтой, находящейся в каталоге в формате maildir. Поэтому, если Вы хотите использовать pop3 с qmail, необходимо перейти на новый формат почтовых ящиков - maildir.
Последовательность работы qmail в общем случае следующая. Программа qmail-popup (после вызова inetd) принимает имя пользователя и пароль по сети, после чего вызывает программу checkpassword, производящую авторизацию пользователей. При успешной авторизации checkpassword устанавливает переменные окружения $USER, $SHELL и $HOME, далее запускает программу qmail-pop3d, которая устанавливает pop3-соединение между почтовым клиентом и почтовым каталогом пользователя ($HOME/Maildir).
Порядок настройки qmail-pop3 сервера:
Если у Вас инсталлирован tcpserver, пропустите конфигурирование inetd и внесите (в две строки, заменяя YOURHOST как для inetd и /bin/checkpassword на тот, что реально используется в Вашей системе)
- Установка программы авторизации - пакет checkpassword (возможны варианты применения других типов авторизации - см. qmail home - раздел 'checkpassword'):
a) компиляция программы и создание форматированных страниц руководства
# make
b) установка программ и страниц руководства
# make setup check
c) тестирование программы
- задайте неверный POP login:
# /var/qmail/bin/qmail-popup host /bin/checkpassword pwd
+OK <...@host>
user levshaaa
+OK
pass aaalevsha
-ERR authorization failed
- задайте верный POP login; Вы должны, вместо сообщения об ошибке, увидеть домашний каталог для данного account-a
- Проверка, что в /etc/services присутствует строка
pop3 110/tcp
- Добавление (все на одной строке, включая два qmail-popup!)
pop3 stream tcp nowait root /var/qmail/bin/qmail-popup qmail-popup
YOURHOST /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir
в /etc/inetd.conf, заменив YOURHOST на полное имя Вашей машины; пошлите inetd сигнал HUP.- Установка доставки в Maildir для всех пользователей, желающих получать почту через POP3 (см. раздел FAQ - дополнительно). Если Вы хотите переместить имеющуюся почту из файла в формате mbox в каталог в формате maildir (заодно создав каталог maildir), можно воспользоваться программкой mbox2maildir. Для чтения почты с помощью привычных MUA (mailx, mail) можно использовать алиасы следующего вида (tcsh, файл .aliases):
alias mlq='/var/qmail/bin/maildir2mbox; mailx -f ~/Mailbox'
tcpserver 0 pop3 /var/qmail/bin/qmail-popup YOURHOST \
/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir &После этого перезапустите qmail.
Рекомендуется использовать программы типа tcp-wrapper для защиты от возможных попыток подслушивания регистрационной информации пользователей. Можно использовать другие типы авторизации для общения с почтовой системой при использовании pop3.
IMAP (Internet Message Access Protocol) - метод доступа к электронной почте, расположенной на почтовом сервере. При этом почтовые сообщения физически остаются на сервере, а программы псевдо-клиенты имеют возможность обрабатывать их без необходимости передачи сообщений на машину клиента. IMAP и qmail.
Как известно, qmail по умолчанию доставляет почтовые сообщения в файл формата mbox, расположенный в домашнем каталоге пользователя $HOME/Mailbox. Предположим, что у Вас происходит именно так, и Вы хотите использовать данный файл при IMAP сеансах.
IMAP сервер по умолчанию предоставляет возможность клиенту производить запросы по манипуляциям с почтой, находящейся в файле в формате mbox: /var/spool/mail/$USER. Если Вы оставите в использовании прежний IMAP сервер, то при подключении псевдо-клиентская программа (Netscape Messenger) будет производить запрос к серверу по открытию каталога, указанного в настройке IMAP клиента в поисках файлов в формате mbox, затрачивая некоторое количество лишнего времени. Можно, в принципе, указать в настройках IMAP клиента в качестве почтового пути на сервере $HOME/Mailbox и, по идее, конфигурация на этом должна успешно завершиться.
Но, если у Вас до сего времени не использовался IMAP, стоит при установке явно указать IMAP клиенту запрашивать у сервера соединения с файлом $HOME/Mailbox. Для этого необходимы некоторые простые изменения с исходных кодах IMAP сервера.Порядок настройки IMAP сервера (для ОС Solaris 2.5):
Теперь осталось настроить соответствующим образом программу псевдо-клиента для IMAP, например, Netscape Messenger 4.5 - и вперед.
- Скачайте программное обеспечение и документацию для IMAP сервера.
- Раскройте полученный архив imap-4.5.BETA.tar.Z
- Найдите в файле imap-4.5.BETA/Makefile трехбуквенное обозначение типа Вашей операционной системы, например - gso.
- Исправьте файл imap-4.5.BETA/src/osdep/unix/env_unix.c в соответствие с описанным в imap-4.5.BETA-qmail.patch
- Скомпилируйте программы, используя программу make с аргументом - обозначением типа Вашей операционной системы, например
# make gso
- Установите IMAP демона imapd/imapd в системный каталог по Вашему выбору, например в /usr/local/etc/.
- Добавьте в файл /etc/services информацию о сервисе IMAP:
imap 143/tcp
- Добавьте информацию для вызова IMAP демона в файл /etc/inetd.conf указав полный путь к программе imapd (все на одной строке!):
imap stream tcp nowait root /usr/local/etc/imapd imapd
- Пошлите демону inetd сигнал HUP:
# killall -HUP inetd
Возможно использование MUA pine в качестве 'клиента' для обработки почтовых сообщений при работе IMAP с qmail, причем доступен патч для pine, позволяющий получать доступ к каталогу в формате maildir.
Настоятельно рекомендуется использовать программы типа tcp-wrapper для предотвращения попыток нелегального проникновения в систему. Фактически, при удачной авторизации существует возможность, используя протокол (ACAP), по которому происходит общение с работающим демоном imapd через соответствующий порт (143), получить доступ к системным файлам.
По соображениям безопасности qmail-smtpd отбрасывает сообщения для хостов, не перечисленных в конфигурационном файле control/rcpthosts при использовании Вашей машины в качестве пересыльщика почты. Существует возможность разрешить некоторым клиентам использовать Ваш почтовый сервер в качестве пересыльщика почты (mail relay). Рассмотрим два из возможных варианта обеспечения данной возможности. Использование сервера в качестве пересыльщика почты.
Использование tcpserver.
- Установите tcpserver, являющийся частью пакета ucspi-tcp. Процесс установки описан в файле INSTALL полученного Вами архива ucspi-tcp-0_84_tar.gz.
- Создайте файл /etc/tcp.smtp, содержащий
1.2.3.6:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""
Эти строчки разрешат smtp-соединение клиентам с IP адресами 1.2.3.6 и 127.*.
- Выполните
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtpПри этом файл базы данных /etc/tcp.smtp.cdb должен иметь права доступа 644, а файл /etc/tcp.smtp - лучше 600.
- Запустите qmail-smtpd под управлением tcpserver.
Для этого закомментируйте строку с smtp в файле /etc/inetd.conf. Перезапустите inetd (killall -HUP inetd). Выполните из командной строки, а также добавьте следующую строку:tcpserver -R -x /etc/tcp.smtp.cdb -u 7770 -g 2108 0 smtp /var/qmail/bin/qmail-smtpd &
в стартовые файлы Вашей системы ( в файл запуска qmail ). Здесь 7770 - UID, а 2108 - GID qmaild.
Опция -R необязательна, она сообщает tcpserver не производить ident запрос к машине-отправителю о регистрационном имени пользователя, отправившего почтовое сообщение.
Если Вы хотите изменить число одновременно возможных процессов qmail-smtpd (например, увеличить до 80), используйте опцию tcpserver -c 80 , по умолчанию это число равняется 40.
Не забудьте & в строке файла запуска qmail-smtpd.Использование tcp-wrapper.
- Установите пакет tcp-wrapper (вместе с hosts_options!)
- Замените в файле /etc/inetd.conf строчку с qmail-smtpd на
smtp stream tcp nowait qmaild /usr/local/bin/tcpd /var/qmail/bin/tcp-env
/var/qmail/bin/qmail-smtpd
(все на одной строке) и пошлите inetd сигнал HUP.
- Добавьте в файл hosts.allow для tcpd строку, делающую для указанных клиентов пустую строку значением переменной среды RELAYCLIENT:
tcp-env: 1.2.3.4, 1.2.3.5: setenv RELAYCLIENT
где 1.2.3.4 и 1.2.3.5 - IP-адреса клиентов.
qmail-smtpd игнорирует control/rcpthosts, если установлена эта переменная Эта программа добавляет RELAYCLIENT к каждому служебному адресу получателя (envelope recipient address).
При работе с почтовой системой qmail имеется возможность заведения пользователей с отдельными POP3 эккаунтами без использования системных эккаунтов. Рассмотрим, что для этого необходимо сделать. Замечу, что далее везде подразумевается текущий каталог /var/qmail (или иной, определенный до установки домашний каталог qmail). Отдельные POP3 эккаунты и альтернативная авторизация.
После проделанных манипуляций резонно проверить корректность работы системы. Но сначала - перезапустите qmail для зачитывания измененных конфигурационных файлов. Теперь произведем тестирование (110 - порт POP3):
- Добавить в конец файла control/rcpthosts домен pop.ru (на который будет приходить почта для POP3 пользователей без системных эккаунтов), чтобы разрешить qmail принимать почту для данного домена.
- Добавить виртуальный домен в файл control/virtualdomains следующим образом, при этом вся почта, приходящая на домен pop.ru будет переправляться пользователю pop-ru (см. FAQ):
pop.ru:pop-ru- Отредактировать файл users/assign, добавив в него информацию о пользователях, которые будут иметь отдельные POP3 эккаунты для домена pop.ru. Каждая строка в этом файле должна выглядеть следующим образом (например, для пользователя account с будущим почтовым адресом [email protected]):
=pop-ru-account:popuser:1001:1111:/var/qmail/popboxes/account:::Здесь popuser - идентификационное имя пользователя в файле /etc/passwd, которое будет использовано для всех POP3 пользователей, 1001 и 1111 - UID и GID данного пользователя user, /var/qmail/pop3/account - каталог, в котором qmail будет искать файл .qmail для последующей обработки почты, приходящей на адрес [email protected]. Данный каталог должен иметь права доступа 0700 его владелец - popuser (UID - 1001, GID - 1111). Знак '=' в начале строки обеспечивает возможность данному пользователю принимать почту на адреса [email protected] (см. информацию о списках рассылки). Часть pop-ru-account означает комбинацию использующегося виртуального домена и POP3 пользователя account.
Последняя строчка в файле user/assign должна содержать единственный символ '.'
После этого необходимо выполнить команду для перестроения файла базы данных users/cdb, содержащем сведения из user/assign в бинарном формате:# /var/qmail/bin/qmail-newu
- Если Вы хотите использовать qmail-pop3d, необходимо перейти на формат почтовых ящиков Maildir (см. пункт о настройке qmail-pop3d). После чего нужно в первой строке файла /var/qmail/popboxes/account/.qmail записать:
./Maildir/Это будет означать использование каталога /var/qmail/popboxes/account/Maildir и соответствующего формата почтового ящика для POP3 пользователя account.
- Теперь встает вопрос о программе, которая будет производить авторизацию POP3 пользователей. Один из стандартных вариантов - использование пакета checkpassword. В данном случае резонно использовать отдельный файл с паролями POP3 пользователей. Предлагается применять пакет checkpassword, исправленный в соответствие с патчем. Подправленный таким образом checkpassword вначале производит поиск пользователя в файле /etc/passwd, после чего просматривает альтернативный файл с паролями (в данном патче - /var/qmail/users/poppasswd). Формат альтернативного файла с паролями следующий:
pop_login:crypted_password:real_login:pathНапример, для POP3 пользователя с pop-логином account, системным логином popuser и 'домашним' каталогом, содержащим файл .qmail - /var/qmail/popboxes/account строка в данном файле будет выглядеть следующим образом (второе поле содержит зашифрованный пароль POP3 пользователя account):
account:I5zMOM3LREGQA:popuser:/var/qmail/popboxes/account
Но, как известно, с qmail можно использовать различные типы авторизации (см. qmail home - раздел checkpassword), поэтому предложенный вариант не является единственно возможным.
Для добавления новых POP3 пользователей в альтернативный файл паролей /var/qmail/users/poppasswd можно использовать программку htpasswd, поставляемую с Web-сервером apache с последующим форматированием полей для приведения их к надлежащему виду.# telnet mailhost 110 USER account PASS accountpwd LIST RETR 1 QUITЕсли все в порядке - можно открывать новый hotmail.com, ну или mail.ru - кому как нравится... Замечу, что при этом сохраняется POP3 сервис и для системных пользователей с авторизацией по файлу /etc/passwd.
Информационные ресурсы на английском языке.
- http://www.qmail.org - официальная домашняя страница qmail
- http://qmail-docs.surfdirect.com.au - проект документации qmail
- ftp://koobera.math.uic.edu/www/qmail.html - документация qmail от автора Д.Дж.Бернстейна
- ftp://ftp.ruxy.org.ru/pub/UNIXS/qmail/ - набор программного обеспечения для qmail
- ftp://koobera.math.uic.edu/www/software.html - дополнительное программное обеспечение для qmail
- ftp://moni.msci.memphis.edu/pub/qmail/ - полезное программное обеспечение для qmail
- ftp://summersoft.fay.ar.us/pub/qmail/ - программное обеспечение для qmail
- http://www.ornl.gov/its/archives/mailing-lists/qmail/ - архив почтовой переписки о qmail
- http://www-archive.ornl.gov/ - поиск в архиве почтовой переписки о qmail
- http://www.egroups.com/list/djb-qmail/ - поисковая система для архива почтовой переписки о qmail
- http://www.inter7.com/qmailadmin/ - некоторые программы для конфигурирования qmail с удобным интерфейсом
- http://www.postfix.org/ - альтернативный дружественный qmail MTA - Postfix
Информационные ресурсы на русском языке.
- http://alexm.here.ru/Ifmail-and-Qmail/Ifmail-and-Qmail-Russian-HOWTO.html - руководство по совместной работе ifmail и qmail.
- http://www.cor.neva.ru/~aal/pegas - патч к qmail-local и qmail-pop3d для работы с клиентом Pegasus Mail в локальной сети; эмулируется популярный в среде Novell почтовый сервер Mercury, что способствует безболезненному переходу с условно бесплатной Novell Netware на честно бесплатный Unix с Самбой.
- http://www.cor.neva.ru/~aal/pegas#ucspi - патч к UCSPI tcpserver, позволяющий сохранять PID демона; полезен для простой и безопасной приостановки конкретного сервиса путем kill -TERM `cat /var/run/the-service.pid`
- http://spslug.sposad.ru/doc/qmail-howto.html - перевод qmail HOWTO, написанного A.McKenna.
- http://spslug.sposad.ru/doc/mailqueue.html - перевод заметки Mail queue with qmail от D.L.Vander Woude.
Зеркала сайта http://www.qmail.org.
Использована информация с сайта http://www.qmail.org