Victor Ustugov wrote:
> 2. roundcube + vacation plugin
>> последний vacation plugin, до которого удалось добраться, был версии 1.9.9
>> пришлось его немного допилить. вот патч:
>http://mta.org.ua/roundcube/patches/vacation-1.9.9/patch-vacation-1.9.9-sieve.patch>> содержимое sieve скрипта автоответчика будет выглядеть примерно так:
>>> require ["fileinto", "reject", "vacation", "copy"];
> # rule:[vacation]
> if allof (header :contains "X-Spam-Flag" "YES") {
> keep;
> } elsif allof (header :contains "X-Quarantined" "YES") {
> keep;
> } elsif allof (header :contains [ "To", "Cc" ] "corvax на mx.org.ua") {
> vacation :subject "Автоответ" "Приветствую.
> Меня сейчас нет на рабочем месте.
> Я прочту Ваше сообщение как только смогу.
> Спасибо за понимание.
> ";
> keep;
> } else {
> keep;
> }
>>> 3. написанный вручную sieve скрипт.
>> при написании sieve скрипта вручную можно доставить спамовые письма в
> персональный карантин самостоятельно:
>>> require ["fileinto", "vacation"];
> if header :contains "X-Spam-Flag" "YES" {
> fileinto "Junk";
> stop;
> }
> if header :contains "X-Quarantined" "YES" {
> fileinto "Junk";
> stop;
> }
> # rule:[автоответчик]
> vacation :subject "Автоответчик" text:
> Меня сейчас нет на рабочем месте.
> Я прочту Ваше сообщение как только смогу.
> Спасибо за понимание.
> .
> ;
>>> письма с полями X-Spam-Flag и X-Quarantined, в значении которых есть
> слово "YES", можно и не доставлять самостоятельно в фолдер Junk, т. к.
> этот фолдер будет указан exim'ом доставщику.
>> пример значения confVIRT_MDIR_PIPE_PERSONAL_QUARANTINE для dovecot'а на
> FreeBSD:
>> define(`confVIRT_MDIR_PIPE_PERSONAL_QUARANTINE',
> `/usr/local/libexec/dovecot/deliver -d $local_part@$domain -m Junk')dnl
для вручную написанных sieve скриптов есть еще вариант использования
инклуда из глобального каталога для доставки спамовых писем в
персональные карантины.
пример для dovecot:
в /usr/local/etc/dovecot/conf.d/90-sieve.conf в секции plugin указываем:
sieve_global_dir = /usr/local/etc/dovecot/sieve/
в каталоге /usr/local/etc/dovecot/sieve/ создаем скрипт
global-spam.sieve со следующим содержимым:
require ["fileinto"];
if header :contains "X-Spam-Flag" "YES" {
fileinto "Junk2";
stop;
}
if header :contains "X-Quarantined" "YES" {
fileinto "Junk2";
stop;
}
в пользовательском скрипте указываем использование глобального инклуд
файла перед кодом автоответчика:
require ["include", "vacation"];
include :global "global-spam.sieve";
# rule:[автоответчик]
vacation :subject "Автоответчик" text:
Меня сейчас нет на рабочем месте.
Я прочту Ваше сообщение как только смогу.
Спасибо за понимание.
.
;
в принципе, тоже самое можно использовать и в связке roundcube +
vacation plugin, указав в plugins/vacation/lib/sieve.class.php в коде
функции setVacation в значении переменной $script код включения инклуд
файла из глобального каталога.
--
Best wishes Victor Ustugov mailto:victor на corvax.kiev.ua
public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 77186900, 371808614 nic-handle: CRV-UANIC