Фильтрация сообщений

Фильтрация сообщений

Leafnode позволяет удалять сообщения, соответствующие определенным критериям. Решение об удалении принимается исходя из информации, содержащейся в заголовке сообщения. Предположим, например, что в статьях, получаемых от пользователя obnoxious@annoying.com постоянно встречаются высказывания, оскорбляющие ваших пользователей. Указанное имя присутствует в заголовке в качестве значения поля From. На основе этой информации Leafnode может "отфильтровать" сообщения данного пользователя. Для этого вам надо включить соответствующее выражение в файл /etc/leafnode/filters, содержащий правила фильтрации. Правила в файле /etc/leafnode/filters имеют вид регулярных выражений. Например, если вы хотите удалять сообщения, поступающие от пользователя obnoxious@annoying.edu, необходимое для этого выражение будет иметь следующий вид:

^From:.*obnoxious@annoying.edu

Данное выражение начинается с символа ^, за которым следует имя заголовка (в данном случае From:). Символы .*, используемые совместно, означают любое число произвольных символов. Строка obnoxious@annoying.edu указывается непосредственно, но так как точка имеет в языке регулярных выражений специальное значение, перед ней указывается обратная косая черта ().

На заметку

Более подробно регулярные выражения будут рассмотрены в главе 19.

Для фильтрации сообщений вам надо указать Leafnode расположение файлов фильтров. Для этого можно использовать опцию filterfile в файле /etc/leafnode/config, о которой шла речь ранее в данной главе. Несмотря на то что фильтры обычно располагаются в каталоге /etc/leafnode/filters, вы можете указать любое имя файла и любой путь к нему.