Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
net_tech / Лабораторнаработа 5 (E-mail).doc
Скачиваний:
19
Добавлен:
10.12.2013
Размер:
269.82 Кб
Скачать

Программа sendmail: ее функции и составные части

Программа sendmail - это транспортный почтовый агент (MTA) плюс агент доставки SMTP. Sendmail фактически является стандартным MTA для Unix и поставляется вместе с операционной системой. Сайт разработчиков программы находится по адресу http://www.sendmail.org/. Программа распространяется бесплатно, в исходных текстах. Полное описание программы, ее конфигурации и работы с ней см. в книге Bryan Costales, Eric Allman "Sendmail". Ниже описываются наиболее ключевые и необходимые для работы моменты.

Sendmail состоит из программы /usr/lib/sendmail, конфигурационного файла /etc/mail/sendmail.cf, файла псевдонимов /etc/mail/aliases и других вспомогательных файлов, а также документов справочника man. Программа использует каталоги /etc/mail для хранения конфигурационного и вспомогательных файлов и /var/spool/mqueue для очереди сообщений. Путь к каталогу очереди сообщений может варьироваться от системы к системе.

Программа /usr/lib/sendmail выполняет различные действия в зависимости от того, с какими ключами или под каким именем она запущена. Например

#/usr/lib/sendmail -bd

Запуск в режиме демона (производится при старте системы) для приема SMTP-соединений; подробнее см. ниже.

#/usr/lib/sendmail -bt

Запуск в тестовом режиме для проверки конфигурации; подробнее см. ниже.

#/usr/bin/newaliases

Разбор файла /etc/mail/aliases и обновление базы данных aliases. (/usr/bin/newaliases - ссылка на /usr/lib/sendmail.) См. также следующий пункт.

#/usr/bin/mailq

Вывод содержимого очереди сообщений. (/usr/bin/mailq - ссылка на /usr/lib/sendmail.)

%/usr/lib/sendmail sidorov@vvsu.ru

Вызов MTA для обработки и отправки сообщения Сидорову. Сообщение со всеми заголовками передается на стандартный ввод. Обычно такой вызов производится пользовательским агентом.

Основные задачи администратора при работе с sendmail: определение псевдонимов и списков рассылки (следующий пункт) и внесение изменений и дополнений в файл sendmail.cf (см.). Прочие задачи описаны в п. Управление работой sendmail и тестирование конфигурации.

Псевдонимы, списки рассылки и форвардинг

Файл /etc/aliases (->/etc/mail/aliases) позволяет определить альтернативные имена для получателей почты, связать стандартные имена типа MAILER-DAEMON с реальными получателями и создать списки рассылки.

Файл состоит из текстовых строк формата:

псевдоним: получатель[,получатель, ... ]

например:

#обязательные записи

MAILER-DAEMON: postmaster

postmaster: root

#альтернативные имена для Петрова

ivan: petrov

ivan.petrov: petrov

petrov: ipetrov@aol.com

#список рассылки

friends: petrov, sidorov@vvsu.ru, ivanov

#администратор списка friends (его имя: "owner-имя_списка")

owner-friends: petrov

#вставить список рассылки из другого файла

staff: :include:/home/manager/mail/staff

#добавить сообщение в конец файла (обязательно полный путь к файлу)

filer: /var/tmp/add_to_this_file

# получателем сообщения является программа, которая запускается

# и текст сообщения подается ей на стандартный ввод

myprog: |"/usr/local/bin/do_something"

Чтобы записи в измененном файле /etc/aliases были прочитаны программой sendmail, необходимо выполнить команду newaliases.

Файл /etc/aliases является системным и редактируется администратором. С помощью директивы ":include:" удобно поручать формирование списка рассылки другому (обычному) пользователю. Адреса в файле, подключаемом директивой ":include:", располагаются под одному на строку; строки, начинающиеся с символа #, игнорируются.

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

Файл .forward обрабатывается после файла /etc/aliases. Файл .forward может содержать также содержать директивы перенаправления почты в программу или добавления к файлу аналогично тому, как это делается в /etc/aliases.