В начало → Создание виртуальной почтовой системы → 12. Mailman |
Последний шаг — mailman. Новая версия имеет великолепную поддержку виртуальных доменов, поэтому я использую его, не говоря уже о том что это просто великолепная программа. Настоятельно рекомендую прочесть документацию mailman, включающую README.POSTFIX.gz, для более полного понимания.
Одно замечание, текущая версия mailman инсталируется в /usr/local/mailman. Если вы хотите изменить директорию инсталляции, вы можете изменить в ebuild файле переменную INSTALLDIR.
Листинг 12.1: /usr/portage/net-mail/mailman/mailman-$ver.ebuild
# nano -w /usr/portage/net-mail/mailman/mailman-$ver.ebuild
MAILGID="280"
(задайте MAILGID для группы mailman взаммен nobody)
(это необходимо для интеграции с postfix)
Листинг 12.2:
# emerge mailman
(имя этого пакета маскировано, поэтому вам надо указать emerge путь к
ebuild. После инсталляции, следуйте инструкциям в README.gentoo.gz *исключая* —
не добавляйте псевдонимы в /etc/mail/aliases. Вместо этого, мы укажем postfix
использовать псевдонимы из базы)
# zless /usr/share/doc/mailman-$ver/README.gentoo.gz
Листинг 12.3: Настройки по умолчанию: Mailman/Defaults.py
# nano -w /var/mailman/Mailman/Defaults.py
(измените значения приведенные ниже на ваши, дальше будем настраивать
виртуальные домены)
DEFAULT_EMAIL_HOST = 'domain.com'
DEFAULT_URL_HOST = 'www.domain.com'
Листинг 12.4: настройка mailman: mm_cfg.py
# nano -w /var/mailman/Mailman/mm_cfg.py
MTA = "Postfix"
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['virt-domain.com', 'virt.domain2.com']
add_virtualhost('www.virt.domain.com', 'virt.domain.com')
add_virtualhost('www.virt.domain2.com', 'virt.domain2.com')
(это нужно для работы mailman с виртуальными доменами)
Листинг 12.5:
(создадим свой первый список рассылки)
# su mailman
# cd ~
# bin/newlist test
Enter the email of the person running the list: your@email.address
Initial test password:
Hit enter to continue with test owner notification...
(листы виртуального домена могут быть указаны в виде list@domain.com)
# bin/genaliases
(теперь ваши псевдонимы сгенерированы, проверьте, что они добавлены правильно)
# nano -w data/aliases
# STANZA START: test
# CREATED:
test: "|/var/mailman/mail/mailman post test"
test-admin: "|/var/mailman/mail/mailman admin test"
test-bounces: "|/var/mailman/mail/mailman bounces test"
test-confirm: "|/var/mailman/mail/mailman confirm test"
test-join: "|/var/mailman/mail/mailman join test"
test-leave: "|/var/mailman/mail/mailman leave test"
test-owner: "|/var/mailman/mail/mailman owner test"
test-request: "|/var/mailman/mail/mailman request test"
test-subscribe: "|/var/mailman/mail/mailman subscribe test"
test-unsubscribe: "|/var/mailman/mail/mailman unsubscribe test"
# STANZA END: test
# /etc/init.d/mailman start
# rc-update add mailman default
(для запуска mailman при каждой загрузке)
Листинг 12.6: Добавление поддержки псевдонимов mailman в postfix
# nano -w /etc/postfix/main.cf
owner_request_special = no
recipient_delimiter = +
(прочтите README.POSTFIX.gz для более детальной информации)
alias_maps =
hash:/var/mailman/data/aliases,
mysql:/etc/postfix/mysql-aliases.cf
virtual_alias_maps =
hash:/var/mailman/data/virtual-mailman,
mysql:/etc/postfix/mysql-virtual.cf
(это добавит поддержку файлов псевдонимов mailman'a в postfix, конечно
вы можете использовать таблицу в mysql для этого, но я ненавижу делать это руками.
Также если вы не используете виртуальных доменов, добавление псевдонимов, может
привести к проблемам)
Теперь вы можете создавать листы рассылок для каждого домена в вашей системе. Последнее замечание, убедитесь, что mailman запущен из под пользователя mailman (su mailman) иначе у вас будут проблемы с разрешениями. прочтите документацию mailman для более детальной информации по управлению листами рассылки.
В начало → Создание виртуальной почтовой системы → 12. Mailman |