Ставим postfix и удаляем sendmail
yum install postfix
service sendmail stop
yum remove sendmail
Редактируем /etc/postfix/main.cf (минимальная настройка)
1
2
3
4
5
6
7
8
| myhostname = yourhostname.com #наше имя
myorigin = $myhostname
inet_interfaces = eth0 #интерфейс
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks_style = host
home_mailbox = $HOME/Maildir/ #храним почту в домашней директории пользователя
mynetworks = 127.0.0.1 #кому можно отправлять почту без ограничений
|
Запускаем сервис
service postfix start
Отправляем сообщение себе и смотрим в логах что творится
1
| echo test mail | mail -s "test" root && sudo tail -f /var/log/maillog
|
Ставим SASL
sudo yum install cyrus-sasl-plain
Генерим сертификатики
1
2
3
4
5
6
7
| sudo yum install mod_ssl openssl
openssl genrsa -out smtp.key 2048
openssl req -new -key smtp.key -out smtp.csr
openssl x509 -req -days 365 -in smtp.csr -signkey smtp.key -out smtp.crt
cp smtp.crt /etc/pki/tls/certs
cp smtp.key /etc/pki/tls/private/smtp.key
cp smtp.csr /etc/pki/tls/private/smtp.csr
|
Добавляем их в /etc/postfix/main.cf
1
2
3
4
5
6
7
| smtp_tls_security_level = may
smtpd_tls_security_level = may
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/pki/tls/private/smtp.key
smtpd_tls_cert_file = /etc/pki/tls/certs
smtp_tls_CAfile = /etc/ssl/certs/ca.crt
smtp_tls_loglevel = 1
|
Заодно добавим аутентификацию для SMTP
1
2
3
4
5
6
7
8
9
10
| smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination,
reject_rbl_client bl.spamcop.net,
reject_unverified_sender,
reject_unknown_sender_domain,
reject_unknown_recipient_domain
|
Теперь проверим….
service postfix restart
echo test mail | mail -s “test” root && sudo tail -f /var/log/maillog