Всё что связано с функцией mail

Описание возможностей mail
qmail Жизнь с qmail (статья) & Mail & Инструкция по установке CMS e107 &
Конфигурирование пол
Котроль за ***видом*
Геморой описание
Маршрутизация входящ
Маршрутизация входящ
Маршрутизация входящ
Перенаправления и ре
Разное
Шаблонизатор
Учебник по Unix для
Управление почтовой
Установка серверов


5. Установка серверов

5.1. Как мне запустить qmail-smtpd под управлением tcpserver? inetd
ненадежен при высоких нагрузках, отключает службы на 10 минут. Также мне
хотелось бы иметь лучшее, чем сейчас, ведение логов соединений.

Ответ: во-первых, установите программу tcpserver, являющуюся частью пакета
       ucspi-tcp (http://pobox.com/~djb/ucspi-tcp.html). Во-вторых, удалите
       строчку с smtp из /etc/inetd.conf и поместите строку

tcpserver -u 7770 -g 2108 0 smtp /var/qmail/bin/qmail-smtpd &

       в стартовые файлы Вашей системы. Замените 7770 на пользовательский
       идентификатор (UID) qmaild в Вашей системе и 2108 - на идентификатор
       группы (GID) nofiles.  е забудьте про '&' в конце. Изменения вступят в
       силу с момента Вашей следующей загрузки.

       По умолчанию, tcpserver позволяет до 40 одновременных процессов
       qmail-smtpd. Для увеличения этого предела до, скажем, 400 используйте
       tcpserver -c 400. Для записи, кто соединялся и на какой период
       запустите (на двух строчках)

tcpserver -v -u 7770 -g 2108 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | \
/var/qmail/bin/splogger smtpd 3 &


5.2. Как мне установить qmail-qmtpd?

Ответ: в два этапа. Во-первых, добавьте строку

qmtp 209/tcp

       в /etc/services. Второй этап - поместите (на одной строке)

qmtp stream tcp nowait qmaild
/var/qmail/bin/tcp-env /var/qmail/bin/qmtpd

       в /etc/inetd.conf, пошлите inetd сигнал HUP

       Если у Вас инсталлирован tcpserver, вместо конфигурирования inetd
       внесите строчку

tcpserver -u 7770 -g 2108 0 qmtp /var/qmail/bin/qmail-qmtpd &

       в стартовые скрипты Вашей системы, заменяя 7770 и 2108 на UID qmaild
       и GID nofiles. См. вопрос 5.1 для получения дополнительной информации
       о tcpserver.


5.3. Как мне установить qmail-pop3d? Мой прежний POP3 сервер работает с
почтой в формате mbox; мне хотелось бы переключиться на Maildir.

Ответ: четыре этапа. Во-первых, инсталлируйте программу checkpassword
       (http://pobox.com/~djb/checkpwd.html) (или ее аналоги
       (http://www.qmail.org/top.html#checkpassword - прим. А.М.).

       Затем убедитесь, что в /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.

       Если у Вас инсталлирован tcpserver, пропустите конфигурирование inetd
       и внесите (в две строки, заменяя YOURHOST как для inetd и
       /bin/checkpassword на тот, что реально используется в Вашей системе)

tcpserver 0 pop3 /var/qmail/bin/qmail-popup YOURHOST \
/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir &

       См. вопрос 5.1 для получения доп. информации о tcpserver.

       Замечание по безопасности: протокол pop3 должен использоваться только
       в безопасной сети, в противном случае злоумышленник может "подслушать"
       пароли.


5.4. Как мне разрешить указанным клиентам использовать мой сервер в качестве
пересыльщика почты (mail relay)? Я вижу, что qmail-smtpd отбрасывает сообщения
для любых хостов, не перечисленных в control/rcpthosts.


Ответ: в три этапа.  а первом инсталлируйте пакет tcp-wrappers (вместе с
       hosts_options), распространяющийся отдельно. Во-вторых, измените
       в /etc/inetd.conf строчку с qmail-smtpd на

smtpd 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) (***Я не знаю как адекватно перевести это на русский*** - А.М.)
       В вопросе 5.5. приведены примеры использования такого поведения)

       Если Вы используете tcpserver версии 0.80 или выше, то вместо этого Вам
       следует создать файл /etc/tcp.smtp, содержащий

1.2.3.6:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""

       Эти строчки разрешат соединение клиентам с IP адресами 1.2.3.6 и 127.*.
       (Прим. Будьте внимательны с синтаксисом: строки должна кончаться ,
       осторожнее с пробелами. - А.М.) Выполните

tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

       И наконец внесите

-x /etc/tcp.smtp.cdb

       сразу после tcpserver в файле запуска qmail-smtpd


5.5. Как мне исправлять сообщения от неверных клиентов SMTP?

Ответ: три этапа. Во-первых, впишите в ~alias/.qmail-fixup-default строчки

| bouncesaying 'Permission denied' [ "@$HOST" != "@fixme" ]
| qmail-inject -f "$SENDER" -- "$DEFAULT"

       Во-вторых, добавьте

fixme: fixup

       в /var/qmail/control/virtualdomains и пошлите qmail-send сигнал HUP.
       В-третьих, следуйте процедуре, описанной в вопросе 5.4, но установите
       RELAYCLIENT равной "@fixme":

tcp-env: 1.2.3.6, 1.2.3.7: setenv = RELAYCLIENT @fixme

       где 1.2.3.6 и 1.2.3.7 - IP адреса клиентов. Если Вы используете
       tcpserver вместо inetd и tcpd, добавьте в /etc/tcp.smtp

1.2.3.6:allow,RELAYCLIENT="@fixme"
1.2.3.7:allow,RELAYCLINET="@fixme"

       и запустите tcprules как в вопросе 5.4.


5.5. Как мне установить qmail-qmqpd? Мне хотелось бы разрешить быструю
постановку в очередь исходящей почты от авторизованных клиентов.

Ответ: убедитесь, что у Вас инсталлирован tcpserver 0.80 или выше. Создайте
       /etc/qmqp.tcp в формате tcprules для разрешения соединений с
       авторизованных хостов.  апример, если постановка в очередь разрешена с
       1.2.3.*, то в /etc/qmqp.tcp внесите

1.2.3.:allow
:deny

       Преобразуйте /etc/qmqp.tcp в /etc/qmqp.cdb:

tcprules /etc/qmqp.cdb /etc/qmqp.tmp < /etc/qmqp.tcp

        аконец, установите

tcpserver -x /etc/qmqp.cdb -u 7770 -g 2108 0 628 /var/qmail/bin/qmail-qmqpd &

       заменив 7770 и 2108 на UID qmaild и GID nofiles. В вопросе 5.1. описаны
       детали исталляции tcpserver.
       (Прим. Кроме этого, Вам, возможно, захочется использовать мнемоническое
       имя сервиса (qmqp), а не его порт (628/tcp). Внесите строчку

qmqp 628/tcp

       в /etc/services, как в вопросе 5.2. Если же вы хотите использовать
       inetd и tcpd вместо tcpserver действуйте как в вопросе 5.4.- А.М.)

					

 
 

Другие разделы блога:
Инструкция по установке CMS e107 & Mail & qmail Жизнь с qmail (статья) &
©GRoM
Реклама: