Установка и настройка 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
  1. alias_database = hash:/etc/mail/aliases
  2. alias_maps = hash:/etc/mail/aliases
  3. command_directory = /usr/sbin
  4. compatibility_level = 2
  5. daemon_directory = /usr/libexec/postfix
  6. data_directory = /var/lib/postfix
  7. debug_peer_level = 2
  8. debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
  9. default_privs = nobody
  10. home_mailbox = .maildir/
  11. html_directory = no
  12. in_flow_delay = 1s
  13. inet_interfaces = all
  14. inet_protocols = ipv4
  15. mail_owner = postfix
  16. mailq_path = /usr/bin/mailq
  17. manpage_directory = /usr/share/man
  18. meta_directory = /etc/postfix
  19. mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
  20. mydomain = donik.org
  21. myhostname = donik.org
  22. mynetworks_style = host
  23. myorigin = $myhostname
  24. newaliases_path = /usr/bin/newaliases
  25. queue_directory = /var/spool/postfix
  26. readme_directory = no
  27. recipient_delimiter = +
  28. sample_directory = /etc/postfix
  29. sender_canonical_maps = hash:/etc/postfix/canonical
  30. sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
  31. sendmail_path = /usr/sbin/sendmail
  32. setgid_group = postdrop
  33. shlib_directory = /usr/lib64/postfix/${mail_version}
  34. smtp_generic_maps = hash:/etc/postfix/generic
  35. smtp_sasl_auth_enable = yes
  36. smtp_sasl_mechanism_filter = login
  37. smtp_sasl_password_maps = hash:/etc/postfix/mailpasswd
  38. smtp_sasl_security_options = noanonymous
  39. smtp_sasl_type = cyrus
  40. smtp_sender_dependent_authentication = yes
  41. smtp_tls_security_level = encrypt
  42. smtp_tls_wrappermode = yes
  43. smtp_use_tls = yes
  44. soft_bounce = no
  45. 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
  1. [smtp.mail.ru]:465 alex@donik.org:PAROL


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



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



File: /etc/postfix/generic
  1. 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 addr@mail.ru

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

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


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

mailq

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

postsuper -d ALL


Ссылки