Оглавление Оглавление 1

Вид материалаДокументы
Подобный материал:
1   ...   4   5   6   7   8   9   10   11   ...   29

Упражнения


Упражнение 1 :
  • Выполните базовую настройку Sendmail.
  • Настройте свою систему так, чтобы она могла получать и отправлять письма sendmail, запущенным на компьютерах ваших соседей.
  • Создайте почтовые псевдонимы
      1. Решения


Решение 1 :


  • Используйте конфигурацию sendmail по умолчанию и укажите имя вашего почтового домена.
  • Используйте команду mail. Письма можно посмотреть в /var/spool/mail
  • Отредактируйте /etc/aliases


    1. Управление почтовым трафиком

                  1. Ключевые файлы, термины и утилиты:

procmail
      1. Вступление


Procmail используется для сортировки, фильтрации входящей почты и выполнения других задач. Он может применяться как на стороне сервера, так и на стороне клиента, если вы предпочитаете не использовать специализированный почтовый агент.


      1. Настройка


Когда пользователь получает новую почту, агент передачи почтовых сообщений (MTA) проверяет файл .forward в домашнем каталоге пользователя. Если он обнаруживает там почтовый адрес, то вся почта перенаправляется на него. Иначе письма складываются в локальный почтовый ящик пользователя.

.forward


Файл .forward может быть использован в том числе для передачи почты в другую программу, такую как procmail. Это делается с помощью каналов, например вот так:

"|IFS=' '&&exec /usr/bin/procmail -f-||exit 75 #ВАШЕ_ИМЯ"

Путь должен указывать на исполняемый файл команды procmail. Используйте which procmail для того, чтобы узнать, где он находится.

Комментарий важен для отладки, особенно если больше одного пользователя имеют свои procmail-сценарии.

Некоторые MTA умеют использовать procmail по умолчанию, в этом случае файл .forward вам не понадобится.


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

[root@test root]# grep procmail /etc/mail/sendmail.mc

define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl

FEATURE(local_procmail)dnl

MAILER(procmail)dnl

[root@test root]#

.procmailrc


Итак, поступившее письмо было перенаправлено программе procmail. Чтобы обработать его, procmail ищет свой конфигурационный файл .procmailrc в домашнем каталоге пользователя

Пример файла .procmailrc:

:0c:

$HOME/mail.backup


Эта настройка обозначает дописывание копии любого входящего письма к файлу $HOME/mail.backup. Копирование производится потому, что в первой строке указан флаг 'c', требующий скопировать письмо.

После второго двоеточия можно указать имя файла блокировки. Если оставить это поле пустым, procmail автоматически создаёт файл блокировки lockfile. Если второе двоеточие отсутствует, файл блокировки не создаётся.

Файл может содержать больше одной команды.

Если .procmailrc не найден, или письмо не удовлетворяет ни одному их условий, оно добавляется к стандартному файлу входящей почты, как это происходит при обычной доставке.


Формат .procmailrc

  • Стартовая строка

:0 с указанием нескольких флагов
  • Условия

Строка, начинающаяся с символа *
  • Доставка

файл или каталог, в который нужно передать почту, или строка начинающаяся с | или !
      1. Примеры

Игнорирование писем


:0

* From.*someone.i.dont.like@somewhere.org

/dev/null

Письма с подходящим условию значением поля From будут сохранены в файл /dev/null.

Запуск сценарии при получении почты


:0

* !FROM_DAEMON

* !FROM_MAILER

* !X-Loop: myself@domain.org

| $HOME/bin/my.script

Все письма будут переданы на вход указанному скрипту, за исключением писем от почтовых сервисов, почтовых программ, или писем, имеющих заголовок X-Loop, содержащий myself@home.org.

Автоматический ответ


:0

* FROM.*root@test.domain.org

| (formail -rk \

-A "X-Loop: yourname@youraddress.com" ; \

echo "This is an automated response";\

echo "I am away from office, I will read your message later :)";\

echo "I'll be back on the 1st of september"; ) | /usr/sbin/sendmail -t -oi


Команда formail может написать письмо в ответ на другое (-r), сохранив содержимое (-k). Полученное письмо будет перенаправлено команде sendmail, с указанием взять адрес корреспондента из поля заголовка “To:” (-t).

Параметр -A добавляет дополнительные заголовки к письму. Заголовок X-Loop поможет избежать зацикливания, если у вашего корреспондента установлен такой же скрипт.
      1. Упражнения


Упражнение 1 :
  • Настройте вашу систему на использование procmail
  • Настройте ваш систему так, чтобы она автоматически отсылала ответы на все письма