WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Команда m4 обрабатывает файлы макроопределений
согласно собственным правилам синтаксиса без того, чтобы проверить синтаксис
sendmail. По этой причине очень важно полностью
проверить Вашу конфигурацию. Пакет sendmail
обеспечивает относительно простой путь для этой цели. sendmail поддерживает "режим адресного теста"
(address test mode), который позволяет проверять конфигурацию и
идентифицировать любые ошибки. В этом режиме работы
sendmail вызывается из командной строки и запрашивает
определения правил и почтовые адреса назначения. Затем
sendmail обрабатывает адреса, используя определенные
правила и показывая вывод каждого правила. Чтобы перейти в этот режим,
вызовите sendmail с указанием параметра
-bt: Заданный по умолчанию файл конфигурации
/etc/mail/sendmail.cf. Вы можете определять
альтернативу параметром -C. Чтобы проверить
конфигурацию, надо выбрать ряд адресов, чтобы обработать их по правилам
доставки почты. Для иллюстрации используем более сложную настройку для UUCP
(пример 18-2). Сначала проверим, что sendmail способен доставить
почте локальным пользователям в системе. В этих тестах мы ожидаем, что все
адреса будут переписаны для локального почтового агента этой машины: Этот вывод показывает нам, как sendmail
обрабатывает почту, адресованную isaac на этой
системе. Каждая строка показывает информацию, переданную правилу, или
результат, полученный из его обработки. Мы сообщили
sendmail, что надо использовать наборы правил 3 и 0,
чтобы обработать адрес. По умолчанию вызывается именно набор 0, поэтому набор
3 был вызван в принудительном порядке. Последняя строка показывает, что набор
0 направляет почту пользователю isaac. Теперь проверим почту, адресованную по SMTP адресу
isaac@vstout.vbrew.com. Должен получиться тот же
самый результат, что и в предыдущем примере: Тест прошел успешно. Теперь проверим хождение почты на тот же адрес, но в
UUCP-формате vstout!isaac. Тоже работает. Эти тесты подтверждают, что любая полученная почта для
локальных пользователей на этой машине будет правильно доставлена, независимо
от того, как форматируется адрес. Если вы определили любые псевдонимы для
машины, например, виртуальные хосты, Вы должны повторить эти тесты для
каждого из имен, соответствующих данной машине. Теперь проверим хождение почты на другие хосты в домене
vbrew.com по протоколу SMTP: Письмо по SMTP было перенаправлено на хост
vale.vbrew.com пользователю
isaac. Этот тест подтверждает, что определение
LOCAL_NET_CONFIG работает правильно. Для хождения
почты таким способом, имя машины должно быть корректно связано с IP-адресом
через файл /etc/hosts или сервис DNS. Если адрес
найден не будет, произойдет следующее: Здесь результат совсем иной. Сначала набор 3 вернул сообщение об ошибке,
показывающее, что имя хоста не может быть корректно преобразовано в адрес.
Теперь интеллектуальный хост должен обработать любую почту, которая является
недоставляемой, а данное письмо к ней как раз относится. Почта попадет на
интеллекуальный хост moria через транспорт
uucp-new. Этот хост может быть информирован лучше и
знать, что делать с такой почтой. Наш заключительный тест гарантирует, что любая почта, адресованная
компьютеру не внутри нашего домена, будет доставлена интеллектуальному хосту:
Результаты этого теста указывают, что имя хоста преобразовано в адрес, но
сообщение все равно пойдет на интеллектуальный хост. Это доказывает, что
определение LOCAL_NET_CONFIG работает правильно.
Linux Network Administrators Guide
Назад
Глава 18. Sendmail
Вперед
Тестирование настроек
# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>
# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 isaac
rewrite: ruleset 3 input: isaac
rewrite: ruleset 96 input: isaac
rewrite: ruleset 96 returns: isaac
rewrite: ruleset 3 returns: isaac
rewrite: ruleset 0 input: isaac
rewrite: ruleset 199 input: isaac
rewrite: ruleset 199 returns: isaac
rewrite: ruleset 98 input: isaac
rewrite: ruleset 98 returns: isaac
rewrite: ruleset 198 input: isaac
rewrite: ruleset 198 returns: $# local $: isaac
rewrite: ruleset 0 returns: $# local $: isaac
# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 isaac@vstout.vbrew.com
rewrite: ruleset 3 input: isaac @ vstout . vbrew . com
rewrite: ruleset 96 input: isaac < @ vstout . vbrew . com >
rewrite: ruleset 96 returns: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 3 returns: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 0 input: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 199 input: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 199 returns: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 98 input: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 98 returns: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 198 input: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 198 returns: $# local $: isaac
rewrite: ruleset 0 returns: $# local $: isaac
# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 vstout!isaac
rewrite: ruleset 3 input: vstout ! isaac
rewrite: ruleset 96 input: isaac < @ vstout . UUCP >
rewrite: ruleset 96 returns: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 3 returns: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 0 input: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 199 input: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 199 returns: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 98 input: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 98 returns: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 198 input: isaac < @ vstout . vbrew . com . >
rewrite: ruleset 198 returns: $# local $: isaac
rewrite: ruleset 0 returns: $# local $: isaac
# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 isaac@vale.vbrew.com
rewrite: ruleset 3 input: isaac @ vale . vbrew . com
rewrite: ruleset 96 input: isaac < @ vale . vbrew . com >
rewrite: ruleset 96 returns: isaac < @ vale . vbrew . com . >
rewrite: ruleset 3 returns: isaac < @ vale . vbrew . com . >
rewrite: ruleset 0 input: isaac < @ vale . vbrew . com . >
rewrite: ruleset 199 input: isaac < @ vale . vbrew . com . >
rewrite: ruleset 199 returns: isaac < @ vale . vbrew . com . >
rewrite: ruleset 98 input: isaac < @ vale . vbrew . com . >
rewrite: ruleset 98 returns: isaac < @ vale . vbrew . com . >
rewrite: ruleset 198 input: isaac < @ vale . vbrew . com . >
rewrite: ruleset 198 returns: $# smtp $@ vale . vbrew . com . /
$: isaac < @ vale . vbrew . com . >
rewrite: ruleset 0 returns: $# smtp $@ vale . vbrew . com . /
$: isaac < @ vale . vbrew . com . >
# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 isaac@vXXXX.vbrew.com
rewrite: ruleset 3 input: isaac @ vXXXX . vbrew . com
rewrite: ruleset 96 input: isaac < @ vXXXX . vbrew . com >
vXXXX.vbrew.com: Name server timeout
rewrite: ruleset 96 returns: isaac < @ vXXXX . vbrew . com >
rewrite: ruleset 3 returns: isaac < @ vXXXX . vbrew . com >
== Ruleset 3,0 (3) status 75
rewrite: ruleset 0 input: isaac < @ vXXXX . vbrew . com >
rewrite: ruleset 199 input: isaac < @ vXXXX . vbrew . com >
rewrite: ruleset 199 returns: isaac < @ vXXXX . vbrew . com >
rewrite: ruleset 98 input: isaac < @ vXXXX . vbrew . com >
rewrite: ruleset 98 returns: isaac < @ vXXXX . vbrew . com >
rewrite: ruleset 198 input: isaac < @ vXXXX . vbrew . com >
rewrite: ruleset 95 input: < uucp-new : moria > isaac </
@ vXXXX . vbrew . com >
rewrite: ruleset 95 returns: $# uucp-new $@ moria $: isaac </
@ vXXXX . vbrew . com >
rewrite: ruleset 198 returns: $# uucp-new $@ moria $: isaac </
@ vXXXX . vbrew . com >
rewrite: ruleset 0 returns: $# uucp-new $@ moria $: isaac </
@ vXXXX . vbrew . com >
# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 isaac@linux.org.au
rewrite: ruleset 3 input: isaac @ linux . org . au
rewrite: ruleset 96 input: isaac < @ linux . org . au >
rewrite: ruleset 96 returns: isaac < @ linux . org . au . >
rewrite: ruleset 3 returns: isaac < @ linux . org . au . >
rewrite: ruleset 0 input: isaac < @ linux . org . au . >
rewrite: ruleset 199 input: isaac < @ linux . org . au . >
rewrite: ruleset 199 returns: isaac < @ linux . org . au . >
rewrite: ruleset 98 input: isaac < @ linux . org . au . >
rewrite: ruleset 98 returns: isaac < @ linux . org . au . >
rewrite: ruleset 198 input: isaac < @ linux . org . au . >
rewrite: ruleset 95 input: < uucp-new : moria > isaac </
@ linux . org . au . >
rewrite: ruleset 95 returns: $# uucp-new $@ moria $: isaac </
@ linux . org . au . >
rewrite: ruleset 198 returns: $# uucp-new $@ moria $: isaac </
@ linux . org . au . >
rewrite: ruleset 0 returns: $# uucp-new $@ moria $: isaac </
@ linux . org . au . >
Назад
Глобальное
оглавление
Вперед
Наиболее распространенные
конфигурации
Локальное
оглавление
Запуск sendmail
Найди своих коллег! |