Это старая версия документа.
Содержание
Mailman
Mailman - это программа с открыты кодом для управления обсуждениями по электронной почте и списками рассылки. Много почтовых рассылок по программам с открытым кодом (включая списки рассылки Ubuntu) используют Mailman в качестве программы почтовых списков. Она многофункциональна и проста в установке и управлении.
Установка
Mailman обеспечивает web интерфейс для администраторов и пользователей, использующих внешний почтовый сервер для отправки и приема почты. Он великолепно работает со следующими почтовыми серверами:
Postfix
Exim
Sendmail
Qmail
Мы рассмотрим как установить и настроить Mailman с web сервером Apache, а также с почтовым сервером Postfix или Exim. Если вы собираетесь устанавливать Mailman с другим почтовым сервером, обратитесь пожалуйста к разделу Ссылок.
Вам потребуется установить только один почтовый сервер и Postfix для Ubuntu является вариантом по умолчанию.
Apache2
Чтобы установить apache2 обратитесь к соответствующему разделу Установки.
Postfix
Для инструкций по установке и настройке Postfix смотрите раздел Postfix.
Exim4
Для установки Exim4 обратитесь к разделу по Exim4.
Когда exim4 устанавливается, его файлы настроек сохраняются в каталоге /etc/exim4. В Ubuntu по умолчанию файлы настройки exim4 разделены на несколько файлов. Вы можете это поменять, изменив следующую переменную в файле /etc/exim4/update-exim4.conf.
dc_use_split_config='true'
Mailman
Чтобы установить Mailman, выполните следующую команду в терминале:
sudo apt-get install mailman
Она скопирует установочные файлы в каталог /var/lib/mailman. Она также установит CGI сценарии в каталог /usr/lib/cgi-bin/mailman, создаст пользователя линукс list и его группу. Процесс mailman будет управляться этим пользователем.
Настройка
В этом разделе предполагается, что у вас удачно установлены mailman, apache2, а также postfix или exim4. Теперь вам требуется только их настроить.
Apache2
Примерный файл настройки Apache идет вместе с Mailman и помещен в /etc/mailman/apache.conf. Чтобы Apache смог его использовать, требуется переместить его в /etc/apache2/sites-available:
sudo cp /etc/mailman/apache.conf /etc/apache2/sites-available/mailman.conf
Это установит новый VirtualHost в Apache для административного сайта Mailman. Теперь разрешим новую конфигурацию и перезагрузим Apache:
sudo a2ensite mailman.conf sudo service apache2 restart
Mailman использует apache2 для обработки CGI сценариев. CGI сценарии Mailman устанавливаются в каталог /usr/lib/cgi-bin/mailman. Поэтому адрес mailman будет http://hostname/cgi-bin/mailman/. Вы можете внести изменения в файл /etc/apache2/sites-available/mailman.conf, если вы решили изменить такой адрес.
Postfix
Для интеграции с Postfix мы ассоциируем домен lists.example.com со списком рассылки.Пожалуйста, замените lists.example.com на домен по вашему выбору.
Вы можете использовать команду postconf для добавления необходимых настроек в /etc/postfix/main.cf:
sudo postconf -e 'relay_domains = lists.example.com' sudo postconf -e 'transport_maps = hash:/etc/postfix/transport' sudo postconf -e 'mailman_destination_recipient_limit = 1'
В /etc/postfix/master.cf дважды проверьте, что у вас указан следующий транспорт:
mailman unix - n n - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
Он вызывает сценарий postfix-to-mailman.py когда почта доставлена по списку.
Ассоциируем домен lists.example.com с транспортом Mailman с помощью транспортной карты. Отредактируйте файл /etc/postfix/transport:
lists.example.com mailman:
Теперь дадим Postfix построить транспортную карту, введя следующее в терминале:
sudo postmap -v /etc/postfix/transport
Затем перезапустите Postfix чтобы разрешить новые настройки:
sudo /etc/init.d/postfix restart
Exim4
Когда Exim4 установлен, вы можете запустить EXim сервер, используя следующую команду из терминала:
sudo /etc/init.d/exim4 start
Чтобы mailman мог работать с Exim4, вам потребуется настроить Exim4. Как было замечено ранее, по умолчанию Exim4 использует множество файлов настройки различного типа. Для подробностей смотрите сайт Exim. Чтобы запустить mailman, нам придется добавить новый файл настройки к следующим типам настроек:
Main
Transport
Router
Exim создает главный файл настройки, сортируя се эти мини конфигурационные файлы. Поэтому последовательность этих конфигурационных файлов очень важна.
Main
All the configuration files belonging to the main type are stored in the /etc/exim4/conf.d/main/ directory. You can add the following content to a new file, named 04_exim4-config_mailman:
# start # Home dir for your Mailman installation – aka Mailman's prefix # directory. # On Ubuntu this should be «/var/lib/mailman» # This is normally the same as ~mailman MM_HOME=/var/lib/mailman # # User and group for Mailman, should match your –with-mail-gid # switch to Mailman's configure script. Value is normally «mailman» MM_UID=list MM_GID=list # # Domains that your lists are in - colon separated list # you may wish to add these into local_domains as well domainlist mm_domains=hostname.com # # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # # These values are derived from the ones above and should not need # editing unless you have munged your mailman installation # # The path of the Mailman mail wrapper script MM_WRAP=MM_HOME/mail/mailman # # The path of the list config file (used as a required file when # verifying list addresses) MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck # end
Transport
All the configuration files belonging to transport type are stored in the /etc/exim4/conf.d/transport/ directory. You can add the following content to a new file named 40_exim4-config_mailman:
mailman_transport: driver = pipe command = MM_WRAP \ '${if def:local_part_suffix \ {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \ {post}}' \ $local_part current_directory = MM_HOME home_directory = MM_HOME user = MM_UID group = MM_GID
Router
All the configuration files belonging to router type are stored in the /etc/exim4/conf.d/router/ directory. You can add the following content in to a new file named 101_exim4-config_mailman:
mailman_router: driver = accept require_files = MM_HOME/lists/$local_part/config.pck local_part_suffix_optional local_part_suffix = -bounces : -bounces+* : \ -confirm+* : -join : -leave : \ -owner : -request : -admin transport = mailman_transport
The order of main and transport configuration files can be in any order. But, the order of router configuration files must be the same. This particular file must appear before the 200_exim4-config_primary file. These two configuration files contain same type of information. The first file takes the precedence. For more details, please refer to the references section.
Mailman
Once mailman is installed, you can run it using the following command:
sudo /etc/init.d/mailman start
Once mailman is installed, you should create the default mailing list. Run the following command to create the mailing list:
sudo /usr/sbin/newlist mailman
Enter the email address of the person running the list: bhuvan at ubuntu.com Initial mailman password: To finish creating your mailing list, you must edit your /etc/aliases (or equivalent) file by adding the following lines, and possibly running the `newaliases' program:
## mailman mailing list mailman: "|/var/lib/mailman/mail/mailman post mailman" mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/var/lib/mailman/mail/mailman join mailman" mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman" mailman-request: "|/var/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
Hit enter to notify mailman owner...
#
We have configured either Postfix or Exim4 to recognize all emails from mailman. So, it is not mandatory to make any new entries in /etc/aliases. If you have made any changes to the configuration files, please ensure that you restart those services before continuing to next section.
The Exim4 does not use the above aliases to forward mails to Mailman, as it uses a discover approach. To suppress the aliases while creating the list, you can add MTA=None line in Mailman configuration file, /etc/mailman/mm_cfg.py.
Управление
We assume you have a default installation. The mailman cgi scripts are still in the /usr/lib/cgi-bin/mailman/ directory. Mailman provides a web based administration facility. To access this page, point your browser to the following url:
http://hostname/cgi-bin/mailman/admin
The default mailing list, mailman, will appear in this screen. If you click the mailing list name, it will ask for your authentication password. If you enter the correct password, you will be able to change administrative settings of this mailing list. You can create a new mailing list using the command line utility (/usr/sbin/newlist). Alternatively, you can create a new mailing list using the web interface.
Пользователи
Mailman provides a web based interface for users. To access this page, point your browser to the following url:
http://hostname/cgi-bin/mailman/listinfo
The default mailing list, mailman, will appear in this screen. If you click the mailing list name, it will display the subscription form. You can enter your email address, name (optional), and password to subscribe. An email invitation will be sent to you. You can follow the instructions in the email to subscribe.