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