Mailman2mlmmj
Сравнение почтовых рассылок mailman и mlmmj с целью миграции.
Компиляция и установка
Пакеты mailman и mlmmj есть (или будут) в дистрибутивах ALT Linux и прочих вендоров. Устанавливаются из их репозитариев.
Настройка
Какие изменения требуется внести в конфигурацию системы.
mailman
- Завести пользователя mailman в группе mailman.
- Запустить службу mailman и включить автозапуск (chkconfig).
- Для Postfix добавить в /etc/postfix/main.cf
alias_maps = cdb:/etc/mailman/aliases
virtual_maps = cdb:/etc/mailman/virtual-mailman
- Добавить нужные системные группы в список почтовых и веб-групп
echo apache >> /etc/mailman/mail.groups
echo apache >> /etc/mailman/cgi.groups
- Для Apache добавить настройки CGI-интерфейса
Include conf/addon-modules.d/mailman.conf
- Включить локальных администраторов в группу mailman.
- Внести обще-системные настройки в файл /etc/mailman/mm_config.py.
mlmmj
- Для Postfix добавить в /etc/postfix/main.cf
recipient_delimiter = +
или другой разделитель, который будет использоваться.
Создание списка рассылки
mailman
- Можно добавлять списки через веб-интерфейс, зная пароль созидателя рассылок (см. mmsitepass -c)
- или из консоли:
/usr/share/mailman/bin/newlist -l ru listname admin@domain.tld
Будут созданы директории
- /var/lib/mailman/lists/listname/
- /var/lib/mailman/archives/private/listname/
- /var/lib/mailman/archives/private/listname.mbox/
- /var/lib/mailman/archives/public/listname/
Почтовые алиасы будут созданы автоматически (в ALT Linux, по крайней мере) и сервер уведомлён.
mlmmj
- Запустить в консоли
mlmmj-make-ml.sh -c -a -L listname
Этот скрипт создаст директорию /var/spool/mlmmj/listname с конфигами. - Добавить в файл алиасов строку
listname: "|/usr/bin/mlmmj-recieve -L /var/spool/mlmmj/listname"
- Запустить newaliases
Обработка почты
И в mailman, и в mlmmj обработкой входящих писем занимаются утилиты, указанные в качестве почтовых алиасов (псевдонимов) в системных конфигах (см. выше).
mailman
Ошибками доставки, запросами на подписку и прочим занимаются обработчики очереди, запускаемые службой mailman или вручную, например, из monit.
mlmmj
В mlmmj для этих целей используется mlmmj-maintd, запускаемый из cron
0 */2 * * * /usr/bin/mlmmj-maintd -F -L /var/spool/mlmmj/listname
или
0 */2 * * * /usr/bin/mlmmj-maintd -F -d /var/spool/mlmmj
или в качестве демона (без ключа -F).
Архивация писем на сайте
mailman
Входящие письма конвертируются в связный веб-архив одним из обработчиков очереди (ArchRunner) путём вызова утилиты /usr/share/mailman/bin/arch. Обработчики запускаются службой mailman или вручную, например, из monit.
mlmmj
Для архивации используются независимые программы.
Подписка
Осуществляется абонентами самостоятельно через веб-интерфейс или почтовый запрос.
mailman
Администратор может подписать/отписать группу пользователей через веб-интерфейс или утилитами add_members / remove_members.
mlmmj
Администратором используются утилиты mlmmj-sub и mlmmj-unsub.
Настройка списка
mailman
Имеется богатый веб-интерфейс и возможность импорта-экспорта настроек в текстовый файл (см. config_list).
mlmmj
Настройки хранятся в файлах /var/spool/mlmmj/listname/*. Правила фильтрации по заголовкам — в файле control/access. Имеется веб-интерфейс администратора на perl и php, но, вероятно, неполный. Совместимость с mailman требует изучения и систематизации.