Mail2News

Настройка mail2news

Гораздо проще понять, как это работает, можно проследив путь сообщения со списка новостей в локальную группу новостей и другой вариант, при котором сообщение сначала попадает в локальную группу новостей, а затем рассылается пользователям.

Почта, получаемая по списку рассылки

Когда сообщение из списка рассылки поступает на вашу машину, procmail показывает, к какой группе новостей оно принадлежит, и передает его в управление mail2news.

Скрипт mail2news обрабатывает это сообщение, прилагает к нему заголовок и затем, при помощи rnews или inews, отсылает его в местную группу новостей.

Сообщения приходящие в местную группу новостей

Местная группа новостей является модерируемой (сообщения кем-то фильтруются), что позволяет воспользоваться преимуществами innd. Любое сообщение, посланное в местную группу новостей, не сразу попадают в группу. Они посылаются сначала модератору группы.

Если мы заменим модератора группы новостей на список рассылки, то все местные сообщения в группу новостей будут автоматически выкладываться в группу новостей демоном innd.

Настройка mail2news

Скопируйте скрипт mail2news в удобное место. Лучше в /usr/local/bin.

Теперь вам нужно его отредактировать следующим способом:

удостоверьтесь, что в начале скрипта у вас идет ссылка на местную программу Perl. Вы можеет выяснить где находится Perl, написав в командной строке 'whereis perl' или 'which perl'. Если вы не смогли ее найти, то посмотрите в /usr/bin/perl это самое удобное место для размещения:

#!/usr/bin/perl
# укажите реальное расположение perl

Отредактируйте нижеследующую часть в соответствии с местонахождением почтовой программы (я использую rnews, inews тоже будет работать) и хоста с новостями:

# $inews = "/usr/bin/inews";
# $iopts = "-h -o \"mail2news gateway\"";
$inews = "/usr/bin/rnews";
$iopts = "";
$postinghost = "your.news.server";   # points at your news server

Удостоверьтесь, что скрипт запускаем:

chmod 755 /usr/local/bin/mail2news

Procmail

Файл настройки procmail находится в /.procmailrc. Если у вас нет файла procmailrc, то создайте его.

Сделайте запись для каждого списка рассылки которые поступают на ваш локальный сервер новостей. Обычно это срабатывает, кроме случаев, когда все рассылается с использованием Bcc (невидимые копии).

Например, если ваш список рассылки 'jokes@netizen.com.au' и вы хотите чтобы группа новостей называлась 'lists.jokes', то ваша запись будет выглядеть следующим образом:

:0
* TOjokes@netizen.com.au
|/usr/local/bin/mail2news lists.jokes

Заметьте, что между 'TO' и адресом во второй строке нет пробела.

Вам понадобится поместить пустую строку между строками для каждой группы новостей. Сделайте столько записей, сколько вам понадобится, используя 3 строки для каждой группы, но изменяя адрес и группы название новостей.

Настройка групп новостей и сервера новостей (innd)

Создайте группы новостей на вашем сервере используя ctlinnd. Помните, что это местные группы новостей, поэтому дайте им определенные названия, для того, чтобы их в последствии можно было фильтровать.

Так же innd должен быть "уведомлен" о том, что группа модерируется (при помощи ctlinnd). Помните, что innd очень придирчиво относится к правам владения файлом и доступу к нему, поэтому вам необходимо обращаться с innd как пользователю новостей. Указание на то что группа модерируется, делается указанием ключа m в команде newgroup.

ctlinnd newgroup lists.jokes m

Ключ m указывает innd, что группа модерируется.

Отредактируйте файл newsfeeds так, чтобы имена групп не повторялись.

Например, если ваш список рассылки называется local.site.group, то вам лучше добавить во второе поле входящего (и возможно исходящего) потока строку !local*.

Теперь для того чтобы сообщения пользователей посылаются автоматически демоном innd, отредактируйте /etc/news/moderators путем включения строки в которой указан адрес списка рассылки модератора.