Сервер - статьи



Настраиваем sieve


Sieve - язык, на котором пишутся почтовые фильтры в cyrus-imapd.

Проверяем работоспособность сервера sieve (timsieved): % telnet your.hostname.domain sieve

Если отвечают "IMPLEMENTATION" "Cyrus timsieved v2.1.15" ... OK, то все в порядке. Пишем на sieve скрипт для разбора почты (приведу здесь несколько типовых действий, дальше должно быть понятно): require ["reject","fileinto"]; # не принимаем почту и высылаем сообщение об отказе: if address :is :all "From" "annoying@badnet.domain" { reject "Утомили"; } # фильтруем по subject корпоративный список рассылки: if header :contains "Subject" "corporate mailing" { fileinto "INBOX.lists.corporate"; } # еще один список рассылки: if header :is "List-Id" "<bugtraq.list-id.securityfocus.com>" { fileinto "INBOX.lists.bugtraq"; } # а это вообще странные письма - адресованы не нам: if anyof ( not address :all :contains ["To", "Cc", "Bcc"] "myname@myaddress.domain" ) { fileinto "INBOX.bad"; }

Сохраняем этот скрипт в файлик test.script. Подключаемся к серверу sieve, загружаем и активируем скрипт: % sieveshell -u cyradmin your.hostname.domain > put test.script > activate test > quit

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

Далее рассматривается прикручивание веб-интерфейса к sieve для того, чтобы пользоваться возможностями sieve могли и простые пользователи.


Содержание  Назад  Вперед