Установка Mailman + Postfix

Решил организовать систему рассылки почты на основе Postfix. Выбор здесь невелик, а точнее один, это Mailman. Гугл сообщил на Gentoo документацию и я радостно побежал её читать. Выполняя все по инструкции, ничего не заработало. Как оказалось всему виной масса опечаток и плохие примеры. По этому расскажу как я ставил “виртуальную почтовую систему”.

Самое первое установим Postfix:

emerge postfix

Зададим базовые настройки /etc/postfix/main.cf:

 # наш хост, на который будет откликаться Postfix
myhostname = mail.example.com
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain $mydomain

 # укажем подсети, из которых будет доступна работа с почтой
mynetworks = 10.0.0.0/24, 127.0.0.0/8
home_mailbox = .maildir/
local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 10

Запустим Postfix

/etc/init.d/postfix start

Теперь unix пользователи сервера могу получать и отправлять почту. Самое время это проверить. В моем случае в настройках указываю smtp и pop3 как mail.example.com и юзер root с его системным паролем.

Настала очередь Mailman. Установим:

emerge mailman

Включим веб-интерфейс /etc/conf.d/apache2:

APACHE2_OPTS="... -D MAILMAN"

Дадим доступ апачу:

gpasswd -a apache mailman

Правим /usr/lib64/mailman/Mailman/Defaults.py:

DEFAULT_EMAIL_HOST = 'mail.example.com'
DEFAULT_URL_HOST = 'lists.example.com'

Настроим Mailman на работу с Postfix /usr/lib/mailman/Mailman/mm_cfg.py:

MTA = "Postfix"
h = 'mail.example.com'
POSTFIX_STYLE_VIRTUAL_DOMAINS = [h]
add_virtualhost(h, h)
DEFAULT_SERVER_LANGUAGE = 'ru'

Создадим список рассылки

su mailman
cd
bin/newlist mailman
bin/genaliases

Запускаем почтальена:
/etc/init.d/mailman start

Добавляем поддержку псевдонимов Mailman в Postfix /etc/postfix/main.cf:

owner_request_special = no
recipient_delimiter = +
alias_maps = hash:/var/lib/mailman/data/aliases
virtual_alias_maps = hash:/var/lib/mailman/data/virtual-mailman

Перезапускаем Postfix и Apache:

/etc/init.d/postfix start
/etc/init.d/apache2 start

Теперь идем в админку http://lists.example.com/mailman/admin и настраиваем рассылку.