Импорт и экспорт списков рассылок в MailMan

Материал из First-Leon
Перейти к навигации Перейти к поиску

Экспортируем список рассылки:

#Выгружаем список подписчиков из списка S
list_members S >> S_list
#Выгружаем параметры списка S
config_list -o S_config S

Импортируем список рассылки:

#Создаем новый список рассылки с именем S
LANG=C newlist --urlhost=lists.вашдомен.ru S
#Загружаем подписчиков
LANG=C add_members --regular-members-file=S_list S
#Загружаем параметры списка
config_list -i S_region_config S_region

К сожалению описания к почтовым адресам не выгружаются и их при необходимости придется забивать руками (даже используя ключ -f. Что то с кодировками совсем худо у mailman).

Немного поморочив голову, стал переносить списки по другому.

Создаю список:

LANG=C newlist --urlhost=lists.вашдомен.ru S

Со старого хоста копирую файл /var/lib/mailman/lists/s/config.pck на новый.

Выставляю права доступа:

chown www-data:list /var/lib/mailman/lists/s/config.pck
chmod 660 /var/lib/mailman/lists/s/config.pck

Теперь важный момент: если у вас старый и новый хосты рассылок совпадаю, то все в порядке. А вот если как у меня:

http://www.lists.вашдомен.ru - старый URL
http://lists.вашдомен.ru - новый URL

то придется кое чего поправить.

mcedit /var/lib/mailman/lists/s/config.pck

Ищем старый URL (http://www.lists.) затираем www. и вставляем четыре пробела перед http:

http://www.lists          - старый
    http://lists          - новый

Идея должна быть понятна - длина строки url должна остаться прежней. Решение корявое и в случае если новый url будет длиннее старого оно не пройдет, но для моего случая его хватает.