Настройка postfix и зачем нужен почтовый сервер на домашнем компьютере.

Действительно, любому пользователю клиентских машин, скажем, под Windows, вроде бы очевидно, что достаточно указать почтовому клиенту адреса серверов - и вопрос с почтой можно считать решенным. Большинство распространенных клиентских программ под Linux тоже можно настроить таким способом. Но в Unix-системах есть несколько серъезных причин пользоваться локальным сервером. Во-первых, ваши чада и домочадцы, возможно, тоже являются пользователями домашней системы и пожелают обмениваться сообщениями e-mail без обращения к внешнему серверу. Во-вторых, в компьютере под управлением Linux происходит много интересного. Периодически без участия пользователя запускаются служебные процессы; иногда возникает необходимость сообщить о ходе работы такого процесса администратору системы, и для этого также используется e-mail. В-третьих, очень удобно единожды настроить систему доставки почты и пользоваться различными почтовыми приложениями без дублирования настроек в каждом из них. Более того, фильтрацию и другие автоматические действия с почтой часто удобнее делать именно с помощью сервера. В-четвертых, в условиях непостоянного соединения с Интернетом, которым располагают пользователи dial-up, почтовый сервер может взять на себя хранение и доставку исходящих сообщений, освобождая пользователя от необходимости производить отсылку вручную с помощью почтового клиента. [В-пятых, это просто здорово - держать на своей машине настоящий сервер (бородатые старожилы почему-то называют их демонами).]

Традиционно в Unix-системах доставкой почты занималась программа sendmail. Однако, в силу появления более безопасных, быстрых и простых в настройке альтернатив и исчезновения не-интернетовских механизмов доставки, sendmail представляет скорее исторический интерес. В Linux-Mandrake функции mail transport agent (MTA) выполняет пакет postfix. Этот пакет снабжен отличной документацией на английском языке; здесь мы приведем только несколько советов по настройке postfix для домашней машины. Основные параметры postfix содержатся в файле /etc/postfix/main.cf. После обновления конфигурации сервер нужно перезапустить командой postfix reload.

В типичной системе с соединением dial-up, устанавливаемым пользователем, сервер не должен предпринимать ненужных попыток доставить сообщения при отсутствии связи. Для этого добавьте в файл main.cf директиву:
defer_transports = smtp
Исходящие сообщения будут помещены в очередь доставки. Когда соединение установлено, можно вызвать их рассылку командой sendmail -q. В Linux-Mandrake эта команда вызывается автоматически в начале PPP-сеанса.

Вряд ли хорошо заниматься рассылкой почты непосредственно с машины, выходящей в Интернет на несколько минут. [Если вы, конечно, не занимаетесь рассылкой спама; в противном случае знайте, что мы решительно против подобных действий.] Некоторые адресаты могут быть временно недоступны, да и время, расходуемое на передачу сообщений удаленным почтовым серверам, может быть неоправданно большим. Поэтому лучше переслать сообщения на близлежащий SMTP-сервер, обладающий постоянным соединением, который и справится с задачей доставки наилучшим образом. Этим обычно занимаются почтовые сервера Интернет-провайдеров. Адрес такого сервера можно задать с помощью директивы relayhost.

Параметры myhostname, mydomain, myorigin и mydestination служат для задания имени хоста, домена, доменной части локальных адресов в исходящих и входящих сообщениях, соответственно. По умолчанию для этих параметров используется доменное имя машины. В-основном локальные адреса соответствуют именам пользователей системы, однако по разным причинам в системе должны существовать некоторые служебные адреса, например, postmaster или daemon. Иногда также возникает необходимость создать адрес, сообщения для которого передаются какой-либо программе, например, менеджеру списка рассылки, или перенаправляются на другой адрес. В файле /etc/postfix/aliases указывается переадресация для таких "псевдонимов". В частности, сообщения для root нужно переадресовывать какому-либо реальному пользователю. При запуске почтового сервера файл /etc/postfix/aliases проверяется на наличие переадресации для root, и если ее нет, то она создается для первого пользователя, у которого определен пароль. После инсталляции таким пользователем обычно является первый зарегистрированный. После редактирования файла aliases вручную его нужно обработать командой postalias для получения рабочей таблицы.