Настройка 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.

В файле /etc/postfix/aliases указывается, каким пользователям соответствуют определенные локальные адреса. Например, сообщения для root можно переадресовывать какому-либо обычному пользователю. После редактирования файла aliases его нужно обработать командой postalias для получения рабочей таблицы.