Установка и настройка postfix в качестве relay для biz.mail.ru в gentoo linux

Материал из AlexNook
Перейти к навигацииПерейти к поиску

Потребовалась мне тут отправка писем с сервера. Выбор пал на postfix. Сперва планировалось превратить свой домашний сервер с внешним ip и доменом в почтовый сервак, но потом решил отказаться от этой идеи и использовать профессиональный почтовый сервер от mail.ru с привязанным своим доменом.

Как настроить DNS и привязать свой домен к mail.ru я писать не буду, эта информация есть в сети на сайте mail.ru. Тут рассмотрю вариант установки postfix и его настройки.

Сперва ставим postfix

emerge -v postfix

В USE флаги добавляем следующие (/etc/portage/package.use/postfix):

mail-mta/postfix dovecot-sasl eai ssl berkdb sasl


После установки необходимо поправить файл конфигурации /etc/postfix/main.cf. Файл подробно документирован, и в сети подробной информации по его параметрам полно. Вывести только параметры, поправленные в файле можно командой:

postconf -n

При этом у меня получилось следующее содержимое:

File: /etc/postfix/main.cf
alias_database = hash:/etc/mail/aliases
alias_maps = hash:/etc/mail/aliases
command_directory = /usr/sbin
compatibility_level = 2
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
default_privs = nobody
home_mailbox = .maildir/
html_directory = no
in_flow_delay = 1s
inet_interfaces = all
inet_protocols = ipv4
mail_owner = postfix
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
meta_directory = /etc/postfix
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = donik.org
myhostname = donik.org
mynetworks_style = host
myorigin = $myhostname
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = no
recipient_delimiter = +
sample_directory = /etc/postfix
sender_canonical_maps = hash:/etc/postfix/canonical
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
shlib_directory = /usr/lib64/postfix/${mail_version}
smtp_generic_maps = hash:/etc/postfix/generic
smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = login
smtp_sasl_password_maps = hash:/etc/postfix/mailpasswd
smtp_sasl_security_options = noanonymous
smtp_sasl_type = cyrus
smtp_sender_dependent_authentication = yes
smtp_tls_security_level = encrypt
smtp_tls_wrappermode = yes
smtp_use_tls = yes
soft_bounce = no
unknown_local_recipient_reject_code = 550


После правки конфига нужно сгенерировать файл со стандартными алиасами, требующимися по RFC. Для этого выполняем:

newaliases

Затем создаём файлик с паролями для доступа к почте /etc/postfix/mailpasswd

А ещё нужно поправить (если нет, то создать) следующие файлики:

  • /etc/postfix/sender_relay
  • /etc/postfix/canonical
  • /etc/postfix/generic

С содержимым

File: /etc/postfix/mailpasswd
[smtp.mail.ru]:465 alex@donik.org:PAROL


File: /etc/postfix/sender_relay
alex@donik.org [smtp.mail.ru]:465
@donik.org [smtp.mail.ru]:465



File: /etc/postfix/canonical
root@donik.org alex@donik.org
@donik.org alex@donik.org



File: /etc/postfix/generic
root@localhost alex@donik.org


После чего требуется из этих конфигов создать файлики с конфигами в читаемом формате postfix

postmap /etc/postfix/mailpasswd
postmap /etc/postfix/sender_relay
postmap /etc/postfix/canonical
postmap /etc/postfix/generic
Note: Не забываем на файлы mailpasswd, sender_relay, canonical и generic дать права 600

Стартуем postfix

/etc/init.d/postfix start

Отправку письма можно протестировать командой

(echo "Subject:Hi"; echo "Body contents";) | sendmail agurov@ibs.ru

Проконтролировать процесс отправки можно в логе:

tail -n 20 /var/log/mail.info


Для просмотра очереди отправляемых сообщений нужно ввести:

mailq

Очистить очередь

postsuper -d ALL


Ссылки