20.16. Создание списка рассылки с применением couriermlm

Проблема

Требуется создать списки рассылки на сервере Postfix/Courier.

Решение

Вам потребуются программы Courier Mailing List Manager (couriermlm), dot-courier и cron.

Пользователь может создать список в любом каталоге, в который ему разрешена запись. Рекомендуется создавать каталоги списков за пределами домашних каталогов пользователей, например, в /var.

Создание каталога для нового списка рассылки выполняется следующей командой:

$ couriermlm create /var/lists/php_list ADDRESS=php@test.net

Команда создаёт каталог, содержащий множество шаблонов и подкаталогов:

$ ls -xa /var/lists/php_list
adminrequest.tmpl archive
bounces commands
confsubj.tmpl digestsubj.tmpl
fetch.tmpl fetchsubj.tmpl
headeradd help.tmpl
idxheader2html.tmpl idxheaderhtml.tmpl
idxheadertxt.tmpl idxsubject.tmpl

Прочитайте и отредактируйте по мере необходимости следующие шаблонные файлы:

Если вы ведёте общедоступный список рассылки и хотите скрыть адреса подписчиков от спамеров, используйте headerdel в сочетании с headeradd:

# headerdel
Reply-To:
From:
# headeradd
Reply-To:php@test.net
From:php@test.net

Настройте /etc/crontab для автоматического обновления списка:

# m h dom mon dow user command
@midnight alice couriermlm daily /var/lists/php_list
0 * * * * alice couriermlm hourly /var/lists/php_list

Напоследок создайте несколько файлов dot-courier для отправки административных сообщений нужному пользователю. Эти файлы должны находиться в домашнем каталоге администратора списка. В данном примере список php@test.net администрируется пользователем valorie.

Сначала valorie создаёт /home/valorie/.courier-php, в котором хранится информация о местонахождении списка:

/usr/bin/couriermlm msg /var/lists/php_list

Далее создаётся файл /home/valorie/.courier-php-owner:

valorie@test.net

И файл /home/valorie/.courier-php-default:

/usr/bin/couriermlm ctlmsg /var/lists/php_list

Комментарий

Пользователи списка могут использовать следующие команды в формате список-команда@домен для взаимодействия с рассылкой:

Файлы dot-courier обеспечивают пересылку запросов нужному пользователю, что позволяет удобно администрировать список и избегать ненужного спама.

См. также

courier(8), dot-courier(5).