Mailman2mlmmj: различия между версиями

Материал из ALT Linux Wiki
(Первые наброски)
 
(Таблица соответствия настроек)
 
Строка 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 сек. &mdash; 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 сек. &mdash; 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

  1. Завести пользователя mailman в группе mailman.
  2. Запустить службу mailman и включить автозапуск (chkconfig).
  3. Для Postfix добавить в /etc/postfix/main.cf
    alias_maps = cdb:/etc/mailman/aliases
    virtual_maps = cdb:/etc/mailman/virtual-mailman
  4. Добавить нужные системные группы в список почтовых и веб-групп
    echo apache >> /etc/mailman/mail.groups
    echo apache >> /etc/mailman/cgi.groups
  5. Для Apache добавить настройки CGI-интерфейса
    Include conf/addon-modules.d/mailman.conf
  6. Включить локальных администраторов в группу mailman.
  7. Внести обще-системные настройки в файл /etc/mailman/mm_config.py.

mlmmj

  1. Для 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

  1. Запустить в консоли
    mlmmj-make-ml.sh -c -a -L listname
    Этот скрипт создаст директорию /var/spool/mlmmj/listname с конфигами.
  2. Добавить в файл алиасов строку
    listname: "|/usr/bin/mlmmj-recieve -L /var/spool/mlmmj/listname"
  3. Запустить 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