Простейший почтовый релей на основе Postfix

Системным администраторам довольно часто приходится решать одну довольно простую задачу - настроить сбор писем-отчётов с подопечных серверов на свой почтовый ящик. Для подобных целей существует довольно много различных программ, умеющих в том числе аутентифицироваться на почтовом сервере. Некоторые из них даже поддерживают собственную очередь писем, а некоторые при первой же ошибке отправки почты через почтовый сервер сразу же удаляют письмо, просто сообщая об ошибке в журнал.

Однако, для этого можно воспользоваться и почтовым сервером Postfix. Он обладает модульной структурой, а потому хорошо масштабируется и может использоваться как для построения крупных многодоменных почтовых систем с вирутальными учётными записями, поддержкой шифрования, фильтрации вирусов, защитой от спама, так и для создания простейших почтовых релеев. То что нам нужно.

Установим пакет с Postfix:

# apt-get install postfix

И отредактируем файл конфигурации Postfix /etc/postfix/main.cf, задав в нём следующие минимальные настройки:

myhostname = server.example.net
mydomain = example.net
inet_protocols = ipv4
inet_interfaces = 127.0.0.1
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks = 127.0.0.0/8
relayhost = [mail.example.net]
masquerade_domains = example.net

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

Этот файл задаёт имя сервера (myhostname), с которого будет отправляться почта, его почтовый домен (mydomain), почтовый сервер, принимающий почту (relayhost), и домен, которым будут дополняться локальные учётные записи (masquerade_domains).

Этот почтовый сервер будет принимать почту только на локальном интерфейсе.

Перезапустим почтовый сервер:

# /etc/init.d/postfix restart

Для использования в собственных скриптах можно использовать как команду sendmail из состава Postfix, так и почтовый клиент, запускаемый из командной строки. Например, команду mail из пакета bsd-mailx. Установить её можно как обычно:

# apt-get install bsd-mailx

Написать автору