настройке сервера. Для тех, кому необходима дополнительная информация о серверах SMTP, можно порекомендовать следующие книги: Косталес (Costales) и Эллмен (Allman)
Использование сервера SMTP
Серверы SMTP часто называют агентами передачи почты (MTA — mail transfer agent). В процессе обмена почтой подобная программа может выступать как в роли клиента, так и в роли сервера. Сервер SMTP может получить сообщение, переданное другим сервером, поддерживающим этот протокол. Сервер хранит полученные сообщения на локальном компьютере, а при необходимости может передать их другому серверу SMTP. Возможные варианты использования сервера SMTP в системе Linux описаны ниже.
• Получение почты. Чаще всего сервер SMTP выполняет функции центрального почтового сервера сети. Письма, полученные сервером SMTP, могут быть просмотрены с помощью специальных программ (например, pine
или mutt
), выполняющихся на локальном компьютере, либо скопированы на другой узел сети посредством протокола получения почты.
• Передача писем в режиме ретранслятора. У пользователей локальной сети часто возникает необходимость передать сообщение другому пользователю, работающему в Internet. Сервер SMTP может быть сконфигурирован для перенаправления почты. В частности, он может получать письма из локальной сети, временно хранить их на локальном компьютере, а затем передавать удаленным системам. Такая конфигурация очень важна для обеспечения передачи почты в сети, и в то же время она может стать источником проблем. Вопросы перенаправления писем будут более детально рассмотрены далее в этой главе.
• Организация почты на локальном компьютере. Программы, выполняющиеся на том же компьютере, что и почтовый сервер, обращаются к серверу для передачи почты. Подобные программы могут быть также сконфигурированы для работы с удаленным сервером SMTP. Многие из программ, работающие локальном компьютере, используют почтовый сервер для взаимодействия с пользователями. Так, например, программы, автоматизирующие выполнение задач администрирования, посылают по почте отчеты о своих действиях пользователю root
.
Выполнение перечисленных выше функций имеет настолько большое значение для системы, что при инсталляции многих дистрибутивных пакетов Linux сервер SMTP устанавливается по умолчанию. В частности, данный сервер необходим для организации обмена почтой в пределах локального компьютера. (Теоретически вы можете настроить все программы так, чтобы они работали посредством удаленного сервера, но инсталлировать сервер SMTP на локальном компьютере гораздо проще, чем перенастраивать многочисленные программы.)
Во многих дистрибутивных пакетах конфигурация сервера SMTP, установленная по умолчанию, обеспечивает передачу почты в пределах локального узла сети. Чтобы сервер выполнял другие функции, в частности мог поддерживать весь домен, его конфигурацию в большинстве случаев приходится пересматривать. В настоящее время электронная почта стала настолько важной службой, что ни одна локальная сеть не может обойтись без средств доставки писем. Однако установка собственного сервера — не единственный способ поддержки обмена сообщениями. При необходимости вы можете также воспользоваться услугами внешних серверов. Такое решение может быть приемлемым для небольшой сети в случае, если вы посчитаете, что затраты на установку центрального почтового сервера не оправдывают себя. Однако наличие собственного сервера обеспечивает дополнительные возможности настройки средств доставки почты и позволяет контролировать процесс передачи писем. Так, например, при наличии сервера SMTP в своей сети вы можете быстро добавлять или удалять пользователей, блокировать получение нежелательных сообщений, устанавливать ограничения на размер сообщений и выполнять другие подобные действия. На поддержку собственного сервера потребуется затратить меньше средств, чем на оплату почтовых услуг сторонней организации. Таким образом, решение по установке почтового сервера в локальной сети в большинстве случаев оправдано, особенно если число пользователей сети велико и им требуются специальные услуги.
Программы, реализующие сервер SMTP в системе Linux
• sendmail
. В составе системы Linux часто поставляется наиболее популярный в настоящее время почтовый сервер sendmail
. Этот пакет предоставляет обширные возможности и многие программы по умолчанию считают, что он установлен в системе. Для обеспечения совместимости в состав некоторых пакетов даже включается исполняемая программа sendmail
. Конфигурационный файл sendmail
имеет сложный формат, и это является причиной того, что некоторые пользователи отдают предпочтение альтернативным пакетам. Web-узел sendmail
расположен по адресу http://www.sendmail.org
.
• Exim. Формат конфигурационного файла данного сервера проще, чем у sendmail
, кроме того, Exim поддерживает разнообразные правила фильтрации почты. Этот сервер используется в Debian и системах, созданных на ее основе. Адрес Web-узла Exim — http://www.exim.org
.
• Postfix. Как sendmail
, так и Exim реализованы в виде большой 'монолитной' программы. В отличие от этих продуктов, Postfix имеет модульную структуру. Это означает, что частные задачи, возникающие перед почтовым сервером, решаются с помощью отдельных небольших программ. При этом повышается как производительность сервера, так и уровень безопасности системы. Модульная структура и простота конфигурационного файла являются основными преимуществами Postfix по сравнению с sendmail
. Данный сервер используется в качестве сервера по умолчанию в системе Mandrake. Дополнительную информацию о Postfix можно получить, обратившись по адресу http://www.postfix.org
.
• qmail
. Подобно Postfix, qmail
представляет собой модульный сервер, разработчики которого ставили перед собой задачу обеспечить высокую производительность и повышенный уровень защиты. Структура конфигурационного файла qmail
проще, чем у сервера sendmail
, но, в отличие от Exim и Postfix, данный сервер плохо совместим с sendmail
. Поэтому замена sendmail
на qmail
представляет собой достаточно сложную задачу. Несмотря на то что qmail
по популярности уступает только sendmail
, этот сервер редко включается в дистрибутивные пакеты Linux в качестве сервера по умолчанию, поэтому в данной главе он не будет подробно рассматриваться. Web-узел qmail
расположен по адресу http://www.qmail.org
.
Помимо перечисленных выше, в системе Linux могут использоваться и другие почтовые серверы. В качестве примера можно привести Smail (http://www.gnu.org/software/smail/smail.html
), Courier (http://www.courier-mta.org
) и OpenMail (http://www.openmail.com/cyc/om/00/
). Многие из почтовых серверов распространяются в исходных кодах, но некоторые доступны лишь на коммерческой основе. Большинство пользователей отдают предпочтение упомянутым выше четырем серверам: sendmail
, Exim, Postfix и qmail
. Все четыре продукта представляют собой мощные программы, способные обслуживать даже большие домены.
Если вы еще не имеете большого опыта администрирования почтовых серверов, вам предпочтительнее использовать тот из них, который поставляется в составе вашей системы. Во многих