Новые книги

Это самый полный, доступный и вместе с тем краткий самоучитель работы на компьютере. Автор этой книги, признанный специалист по обучению компьютерной грамотности, создал действительно удобную книгу для самостоятельного обучения. Проработка этого самоучителя — залог вашей компьютерной грамотности. Вы узнаете самое главное о выборе конфигурации ПК, его комплектующих, работе на нем, о самых распространенных прикладных программах и многое другое. У вас появится системный подход к решению любых задач, связанных с пользованием компьютером. Это позволит вам освоить любой новый для вас программный продукт, настроить любое дополнительное устройство.
Новая книга всемирно известного гуру маркетинга Филипа Котлера «Маркетинг 3.0» для многих станет откровением и лишь для самых искушенных в маркетинге будет подтверждением того, о чем они сами интуитивно уже давно догадывались. В развитых странах уже сегодня (а в развивающихся – очень скоро) рассчитывать на победу над конкурентами сможет только та компания, которая освоит и начнет применять в деле маркетинг 3.0. Говоря кратко, это способ тончайшего, изощренного воздействия на потребителя, при котором затрагиваются не только разум и эмоции, но и душа человека. Воспользуйтесь им, и вскоре все покупатели и клиенты ваших конкурентов перейдут к вам.

Огромное преимущество маркетинга 3.0 перед двумя предыдущими версиями еще и в том, что с его помощью любая компания сможет подключиться к решению глобальных проблем человечества (бедность, загрязнение окружающей среды, социальная несправедливость, смертельные болезни) с коммерческой выгодой для себя! Твори добро – и зарабатывай на этом.

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

Testing Your Configuration

Тестирование настроек

Команда m4 обрабатывает файлы макроопределений согласно собственным правилам синтаксиса без того, чтобы проверить синтаксис sendmail. По этой причине очень важно полностью проверить Вашу конфигурацию. Пакет sendmail обеспечивает относительно простой путь для этой цели.

sendmail поддерживает "режим адресного теста" (address test mode), который позволяет проверять конфигурацию и идентифицировать любые ошибки. В этом режиме работы sendmail вызывается из командной строки и запрашивает определения правил и почтовые адреса назначения. Затем sendmail обрабатывает адреса, используя определенные правила и показывая вывод каждого правила. Чтобы перейти в этот режим, вызовите sendmail с указанием параметра -bt:

# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>

Заданный по умолчанию файл конфигурации /etc/mail/sendmail.cf. Вы можете определять альтернативу параметром -C. Чтобы проверить конфигурацию, надо выбрать ряд адресов, чтобы обработать их по правилам доставки почты. Для иллюстрации используем более сложную настройку для UUCP (пример 18-2).

Сначала проверим, что sendmail способен доставить почте локальным пользователям в системе. В этих тестах мы ожидаем, что все адреса будут переписаны для локального почтового агента этой машины:

# /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

Этот вывод показывает нам, как sendmail обрабатывает почту, адресованную isaac на этой системе. Каждая строка показывает информацию, переданную правилу, или результат, полученный из его обработки. Мы сообщили sendmail, что надо использовать наборы правил 3 и 0, чтобы обработать адрес. По умолчанию вызывается именно набор 0, поэтому набор 3 был вызван в принудительном порядке. Последняя строка показывает, что набор 0 направляет почту пользователю isaac.

Теперь проверим почту, адресованную по SMTP адресу [email protected]. Должен получиться тот же самый результат, что и в предыдущем примере:

# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 [email protected]
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

Тест прошел успешно. Теперь проверим хождение почты на тот же адрес, но в UUCP-формате vstout!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

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

Теперь проверим хождение почты на другие хосты в домене vbrew.com по протоколу SMTP:

# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 [email protected]
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 . >

Письмо по SMTP было перенаправлено на хост vale.vbrew.com пользователю isaac. Этот тест подтверждает, что определение LOCAL_NET_CONFIG работает правильно. Для хождения почты таким способом, имя машины должно быть корректно связано с IP-адресом через файл /etc/hosts или сервис DNS. Если адрес найден не будет, произойдет следующее:

# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 [email protected]
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 >

Здесь результат совсем иной. Сначала набор 3 вернул сообщение об ошибке, показывающее, что имя хоста не может быть корректно преобразовано в адрес. Теперь интеллектуальный хост должен обработать любую почту, которая является недоставляемой, а данное письмо к ней как раз относится. Почта попадет на интеллекуальный хост moria через транспорт uucp-new. Этот хост может быть информирован лучше и знать, что делать с такой почтой.

Наш заключительный тест гарантирует, что любая почта, адресованная компьютеру не внутри нашего домена, будет доставлена интеллектуальному хосту:

# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 [email protected]
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 . >

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