Mailman2mlmmj
Материал из ALT Linux Wiki
Bga (обсуждение | вклад) (Первые наброски) |
Bga (обсуждение | вклад) (Таблица соответствия настроек) |
||
Строка 73: | Строка 73: | ||
== mlmmj == | == mlmmj == | ||
[http://www.mlmmj.org/man/tunables Настройки] хранятся в файлах {{path|/var/spool/mlmmj/listname/*}}. Правила фильтрации по заголовкам — в файле [http://www.mlmmj.org/man/access {{path|control/access}}]. Имеется веб-интерфейс администратора на perl и php, но, вероятно, неполный. Совместимость с mailman требует изучения и систематизации. | [http://www.mlmmj.org/man/tunables Настройки] хранятся в файлах {{path|/var/spool/mlmmj/listname/*}}. Правила фильтрации по заголовкам — в файле [http://www.mlmmj.org/man/access {{path|control/access}}]. Имеется веб-интерфейс администратора на perl и php, но, вероятно, неполный. Совместимость с mailman требует изучения и систематизации. | ||
+ | |||
+ | = Синонимы настроек = | ||
+ | Таблица соответствия | ||
+ | {| class="standard" | ||
+ | ! mlmmj | ||
+ | ! mailman | ||
+ | ! Описание | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/access access], [http://mlmmj.org/man/access подробнее] | ||
+ | |header_filter_rules, bounce_matching_headers | ||
+ | |Фильтрация почты по заголовкам | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/addtohdr addtohdr] | ||
+ | | | ||
+ | |Добавить заголовок To: <адрес получателя> | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/bouncelife bouncelife] (432000 сек. — 5 дней) | ||
+ | |bounce_score_threshold (5 дней) | ||
+ | |Допустимый период получения bounce, после которого адресат будет отписан | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/closedlist closedlist] | ||
+ | |subscribe_policy, unsubscribe_policy | ||
+ | |Разрешена ли авто-подписка и отписка по почте | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/closedlistsub closedlistsub] | ||
+ | |subscribe_policy | ||
+ | |Разрешена ли авто-подписка по почте (отписка разрешена) | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/customheaders customheaders] | ||
+ | |include_rfc2369_headers, include_list_post_header, reply_goes_to_list/reply_to_address | ||
+ | |Дополнительные заголовки | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/delheaders delheaders] | ||
+ | |first_strip_reply_to | ||
+ | |Удаление заголовков | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/delimiter delimiter] | ||
+ | | | ||
+ | |Служебный разделитель в адресе | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/digestinterval digestinterval] (604800 сек. — 7 дней) | ||
+ | |digest_send_periodic (1 день) | ||
+ | |Интервал между дайджестами | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/digestmaxmails digestmaxmails] (50) | ||
+ | |digest_size_threshhold (30 Кб) | ||
+ | |Количество сообщений в дайджесте | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/listaddress listaddress] | ||
+ | |acceptable_aliases | ||
+ | |Адреса-псевдонимы | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/maxmailsize maxmailsize] | ||
+ | |max_message_size | ||
+ | |Максимальный размер письма | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/maxverprecips maxverprecips] (100) | ||
+ | | | ||
+ | |Отправлять письма на сервер пачками по столько | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/memorymailsize memorymailsize] (16384 байт) | ||
+ | | | ||
+ | |Максимальный размер письма в памяти перед отправкой | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/moderated moderated] | ||
+ | |emergency, default_member_moderation | ||
+ | |Пре-модерирование списка (удержание писем) | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/modnonsubposts modnonsubposts] | ||
+ | |generic_nonmember_action | ||
+ | |Удерживать письма от не-подписчиков | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/noaccessdenymails noaccessdenymails] | ||
+ | | | ||
+ | |Не отправлять уведомления об удержании писем | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/noarchive noarchive] | ||
+ | |archive | ||
+ | |Не архивировать почту | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/nodigestsub nodigestsub] | ||
+ | |digestable | ||
+ | |Запретить подписку на дайджест | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/nodigesttext nodigesttext] | ||
+ | | | ||
+ | |Не включать в дайджест текстовое описание | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/noget noget] | ||
+ | | | ||
+ | |Запретить запросы старых писем | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/nomaxmailsizedenymails nomaxmailsizedenymails] | ||
+ | | | ||
+ | |Не отправлять уведомления о превышении размера | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/nonomailsub nonomailsub] | ||
+ | | | ||
+ | |Запретить подписку без доставки | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/nosubconfirm nosubconfirm] | ||
+ | | | ||
+ | |Подписывать без подтверждения (осторожно!) | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/nosubonlydenymails nosubonlydenymails] | ||
+ | | | ||
+ | |Не отправлять уведомление об удержании не-подписчикам | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/notifysub notifysub] | ||
+ | |admin_notify_mchanges | ||
+ | |Уведомить владельца списка о новом подписчике | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/notoccdenymails notoccdenymails] | ||
+ | | | ||
+ | |Не отправлять уведомление о том, что адрес списка не совпадает | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/owner owner] | ||
+ | |owner | ||
+ | |Адреса владельцев списка (администраторов) | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/prefix prefix] | ||
+ | |subject_prefix | ||
+ | |Префикс, вставляемый в тему письма | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/relayhost relayhost] (127.0.0.1) | ||
+ | |host_name | ||
+ | |Адрес почтового сервера | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/smtpport smtpport] (25) | ||
+ | | | ||
+ | |Порт почтового сервера | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/submod submod] | ||
+ | |subscribe_policy | ||
+ | |Контроллировать подписку | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/subonlyget subonlyget] | ||
+ | | | ||
+ | |Разрешить повторы старых писем только подписчикам | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/subonlypost subonlypost] | ||
+ | |generic_nonmember_action | ||
+ | |Разрешить отправлять письма только подписчикам | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/tocc tocc] | ||
+ | | | ||
+ | |Принимать письма, даже если адрес списка отсутствует в To: или Cc: | ||
+ | |- | ||
+ | |[http://mlmmj.org/man/tunables/verp verp] | ||
+ | | | ||
+ | |Использовать VERP | ||
+ | |} | ||
+ | |||
[[Категория:Инфраструктура]][[Категория:Почта]] | [[Категория:Инфраструктура]][[Категория:Почта]] |
Текущая версия на 21:42, 28 мая 2009
Сравнение почтовых рассылок 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 требует изучения и систематизации.
Синонимы настроек
Таблица соответствия
mlmmj | mailman | Описание |
---|---|---|
access, подробнее | header_filter_rules, bounce_matching_headers | Фильтрация почты по заголовкам |
addtohdr | Добавить заголовок To: <адрес получателя> | |
bouncelife (432000 сек. — 5 дней) | bounce_score_threshold (5 дней) | Допустимый период получения bounce, после которого адресат будет отписан |
closedlist | subscribe_policy, unsubscribe_policy | Разрешена ли авто-подписка и отписка по почте |
closedlistsub | subscribe_policy | Разрешена ли авто-подписка по почте (отписка разрешена) |
customheaders | include_rfc2369_headers, include_list_post_header, reply_goes_to_list/reply_to_address | Дополнительные заголовки |
delheaders | first_strip_reply_to | Удаление заголовков |
delimiter | Служебный разделитель в адресе | |
digestinterval (604800 сек. — 7 дней) | digest_send_periodic (1 день) | Интервал между дайджестами |
digestmaxmails (50) | digest_size_threshhold (30 Кб) | Количество сообщений в дайджесте |
listaddress | acceptable_aliases | Адреса-псевдонимы |
maxmailsize | max_message_size | Максимальный размер письма |
maxverprecips (100) | Отправлять письма на сервер пачками по столько | |
memorymailsize (16384 байт) | Максимальный размер письма в памяти перед отправкой | |
moderated | emergency, default_member_moderation | Пре-модерирование списка (удержание писем) |
modnonsubposts | generic_nonmember_action | Удерживать письма от не-подписчиков |
noaccessdenymails | Не отправлять уведомления об удержании писем | |
noarchive | archive | Не архивировать почту |
nodigestsub | digestable | Запретить подписку на дайджест |
nodigesttext | Не включать в дайджест текстовое описание | |
noget | Запретить запросы старых писем | |
nomaxmailsizedenymails | Не отправлять уведомления о превышении размера | |
nonomailsub | Запретить подписку без доставки | |
nosubconfirm | Подписывать без подтверждения (осторожно!) | |
nosubonlydenymails | Не отправлять уведомление об удержании не-подписчикам | |
notifysub | admin_notify_mchanges | Уведомить владельца списка о новом подписчике |
notoccdenymails | Не отправлять уведомление о том, что адрес списка не совпадает | |
owner | owner | Адреса владельцев списка (администраторов) |
prefix | subject_prefix | Префикс, вставляемый в тему письма |
relayhost (127.0.0.1) | host_name | Адрес почтового сервера |
smtpport (25) | Порт почтового сервера | |
submod | subscribe_policy | Контроллировать подписку |
subonlyget | Разрешить повторы старых писем только подписчикам | |
subonlypost | generic_nonmember_action | Разрешить отправлять письма только подписчикам |
tocc | Принимать письма, даже если адрес списка отсутствует в To: или Cc: | |
verp | Использовать VERP |