Как уже упоминалось ранее, каждое сообщение состоит из трех частей: конверта, заголовка и тела сообщения:
•
•
•
После постановки почтовых сообщений в очередь начинается ее рассылка. При этом выполняются следующие действия:
• адреса отправителя и получателя преобразуются в формат сети – получателя почты;
• если необходимо, то в заголовок сообщения добавляются отсутствующие данные;
• почта передается одной из программ рассылки почты.
Настройка программы sendmail
Настройка программы sendmail происходит при помощи конфигурационного файла /etc/sendmail.cf. Этот файл состоит из нескольких частей:
• описания компьютера (local information) – в данной секции описываются имя компьютера и т. п;
• описания макроопределений sendmail, отвечающих за работу в локальной сети;
• групп имен, которые используются программой для рассылки почты;
• номера версии файла конфигурации;
• опций команды sendmail – опции определяют режимы работы программы;
• доверенных пользователей;
• описания формата заголовка почтового сообщения – в данной секции определяются поля и их формат, которые отображаются в заголовке;
• правил преобразования адресов;
• описания программ рассылки;
• общего набора правил преобразования адресов;
• машинно-зависимой части общего набора правил преобразования адресов.
Обычно после инсталляции sendmail изменения, которые вносятся в файл конфигурации, касаются только имени хоста, домена и шлюзов. В современных дистрибутивах (таких как Red Hat) иногда не приходится делать даже этого.
Подробно о конфигурировании sendmail здесь рассказано не будет – разобраться в конфигурационном файле, который имеет около 100 Кбайт текста, весьма не просто. Для детального ознакомления с конфигурацией sendmail рекомендуется почитать книгу "UNIX – руководство системного администратора", а также документацию, идущую в комплекте с sendmail.
Для примера приведем небольшую секцию локальной конфигурации программы sendmail:
############
# local info #
############
Cwlocalhost
СР.
# UUCP relay host
DYucbvax.Berkeley.EDU
CPUUCP
# BITNET relay host
# DBmailhost.Berkeley.EDU
DBrelay.kiae.su
CPBITNET
# "Smart" relay host (may be null)
DSrelay.kiae.su
# who I send unqualified names to (null means deliver locally)
DR
# who gets all local email traffic ($R has precedence for unqualified names)
DH
# who I masquerade as (null for no masquerading)
DM
# class L: names that should be delivered locally, even if we have a relay
# class E: names that should be exposed as from this host, even if we masquerade
# CLroot
CEroot
# operators that cannot be in local usernames (i.e., network indicators)
CO @ % !
# a class with just dot (for identifying canonical names)
C..
# dequoting map Kdequote dequote
Тестирование отправки почты sendmailДля проверки правильности функционирования программы sendmail можно запустить ее с ключом -v (режим verbose). При этом режиме процесс обмена между транспортными почтовыми агентами выводится на консоль или записывается в файл. Таким образом можно исключить большую часть ошибок в настройке sendmail.
Тестирование обслуживания по протоколу SMTP Для проверки сервиса SMTP используют программу telnet, подключаемую к 25-му порту:telnet ivan.petrov 25
Если на компьютере установлен SMTP-сервер – в ответ получим строку приглашения протокола SMTP, после чего можно вводить команды SMTP: