Для корректной работы любого почтового сервера нам понадобится синхронизация со службой точного времени. Для этого занесем в /etc/crontab строку:
15 14 * * * root ntpdate 0.pool.ntp.org
Еще одно условие корректной работы сервера это правильное днс имя и правильное значение hostname, в нашей конфигурации будет использовано имя сервера mx.mkm.local и и домен mkm.local. Для переименования хоста добавимм /etc/hosts строку
172.16.0.211 mx.mkm.local mx
и в файл /etc/sysconfig/network
HOSTNAME=mx2.mkm.local
Проверим вывод hostname он долден совпадать с указанным нами значением.
Приступим непосредственно к установке postfix.
yum install postfix
Откроем файл /etc/postfix/main.cf
изменим указанные опции:
myhostname = mx.mkm.local # имя хоста. mydomain = mkm.local # имя домена mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain # домены и узлы для которых принимается почта myorigin = $mydomain #будет дописываться к не fqdn адресу отправителя . mynetworks_style = subnet # postfix будет считать доверенной подсеть в которой лежит его интерфейс . mynetworks = 172.16.0.0/24, 127.0.0.0/8 # список явно указанных доверенных сетей. inet_interfaces = all # интерфейсы которые слушает postfix.
Для того чтобы не подключаться к серверу пользователем root для получения root-овой почты, нужно ее перенаправить на другой почтовый ящик. Для этого воспользуемся алиасами. Откроем файл /etc/aliases, где он лежит и как называется можно посмотреть в main.cf параметр
alias_database = hash:/etc/aliases
в файле укажем
root: admin
тем самым укажем перенаправлять почту root пользователю admin. После этого переиндексируем базу данных алиасов:
postalias hash:/etc/aliases
создадим системного пользователя admin и перезагрузим postfix.
далее воспользовавшись программой mail отgравим письмо пользователю root и убедимся что оно придет пользователю admin.
отправка:
mail root@mkm.local Subject: test2 privet . EOT
проверка доставки:
cat /var/spool/mail/admin From root@mkm.local Mon Jul 29 15:22:14 2013 Return-Path: <root@mkm.local> X-Original-To: root@mkm.local Delivered-To: root@mkm.local Received: by mx.mkm.local (Postfix, from userid 0) id D55DB2058A; Mon, 29 Jul 2013 15:22:14 +0400 (MSK) Date: Mon, 29 Jul 2013 15:22:14 +0400 To: root@mkm.local Subject: test3 User-Agent: Heirloom mailx 12.4 7/29/08 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20130729112214.D55DB2058A@mx.mkm.local> From: root@mkm.local (root) test3
Сейчас мы проверили доставку почты от локального отправителя локальному получателю, далее нужно попробывать получить почту от удаленного пользователя, проверку осуществим при помощи программы telnet.
Предварительно настроем фаервол на прием подключений по 25 tcp порту.
telnet 172.16.0.211 Connected to 172.16.0.211. Escape character is '^]'. 220 mx.mkm.local ESMTP Postfix helo 172.16.0.72 250 mx.mkm.local mail from: <admin@blspb.com> 250 2.1.0 Ok rcpt to: <root@mkm.local> 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> telnet test .