вопрос встал с автоматическим перемещением спама в каталог .Spam./etc/postfix/main.cf
Код:
mailbox_command = /usr/local/libexec/dovecot/deliver/etc/dovecot/dovecot.conf
Код:
protocol lda {
mail_plugins = sieve
mail_plugin_dir = /usr/lib/dovecot/modules/lda
global_script_path = /home/vmail/spam.sieve
}/home/vmail/spam.sieve
Код:
require "fileinto";
if header :comparator "i;ascii-casemap" :contains "subject" "*****SPAM*****" {
fileinto ".Spam";
stop;
} else {
keep;
}Но почему-то не работает
>[оверквотинг удален]
> /home/vmail/spam.sieve
> Код:
> require "fileinto";
> if header :comparator "i;ascii-casemap" :contains "subject" "*****SPAM*****" {
> fileinto ".Spam";
> stop;
> } else {
> keep;
> }
> Но почему-то не работаетА используются ли sieve фильтры у пользователя?
Если да то работать не будет, читайте внимательнее когда работает global_script_path.Ну и читайте в dovecot про
sieve_before
sieve_after
> mailbox_command = /usr/local/libexec/dovecot/deliverВ эту команду пайпится письмо, но при этом опциями следует указывать получателя и отправителя письма. Получателя, чтобы деливером был выбран правильный мейлбокс для доставки, а отправителя - чтобы правильно отослать баунс в случае ошибки. Поэтому пишем нечто вроде:
mailbox_command = /usr/local/libexec/dovecot/deliver -d адрес@получателя -f адрес@отправителя
В экзиме туда можно поставить переменные, содержащие нужные значения, как в постфиксе - не знаю.
> global_script_path = /home/vmail/spam.sieveГлобал-скрипт запускается тогда и только тогда, когда у пользователя нет никакого другого скрипта. Если другой скрипт есть - глобальный не запускается.
> fileinto ".Spam";Ну, начнем с того, что в мейлдире довекот заводит папки с точками, но адресовать их надо без точек. А во-вторых, спамовая папка в мейлдире у юзера называется не Spam, а Junk. Отсюда:
require "fileinto";
if header :comparator "i;ascii-casemap" :contains "subject" "*****SPAM*****" {
fileinto "Junk";
stop;
} else {
keep;
}
>> mailbox_command = /usr/local/libexec/dovecot/deliver
> В эту команду пайпится письмо, но при этом опциями следует указывать получателя
> и отправителя письма. Получателя, чтобы деливером был выбран правильный мейлбокс для
> доставки, а отправителя - чтобы правильно отослать баунс в случае ошибки.
> Поэтому пишем нечто вроде:
> mailbox_command = /usr/local/libexec/dovecot/deliver -d адрес@получателя -f адрес@отправителяполностью согласен
> В экзиме туда можно поставить переменные, содержащие нужные значения, как в постфиксе
> - не знаю.
>> global_script_path = /home/vmail/spam.sieve
> Глобал-скрипт запускается тогда и только тогда, когда у пользователя нет никакого другого
> скрипта. Если другой скрипт есть - глобальный не запускается.Именно к этому я и клонил, просто хотел что бы ТС все таки хоть немного прочитал коммент в конфиге dovecot, который идет перед объявлением этого параметра.
>> fileinto ".Spam";
> Ну, начнем с того, что в мейлдире довекот заводит папки с точками,
> но адресовать их надо без точек. А во-вторых, спамовая папка в
> мейлдире у юзера называется не Spam, а Junk. Отсюда:А вот здесь Вы я с Вами не согласен. По умолчанию dovecot создает только INBOX. Никаких больше папок нет. Все остальные мне приходится создавать плагином autocreate и сразу подключать пользователю плагином autosubscribe.
> require "fileinto";
> if header :comparator "i;ascii-casemap" :contains "subject" "*****SPAM*****" {
> fileinto "Junk";
> stop;
> } else {
> keep;
> }
Нашел на вики довекота про sieve-after, sieve-before http://www.dovecot.org/list/dovecot/2010-August/051987.htmlСделал как тут написано:
/etc/dovecot/dovecot.confplugin {
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
sieve_before = /var/mail/sieve-before
sieve_after = /var/mail/sieve-after
}/var/mail/sieve-before/spam.sieve
require "fileinto";
if header :contains "X-Spam-Flag" "YES" {
fileinto "Spam";
}Но чето не хочет работать.
Почта лежит тут /var/mail/domain.ws/user
есть мысли?
> есть мысли?Мыслей есть масса, и все в сторону чтения логов. Мне почему-то кажется, что компилеру сива не хватает прав, чтобы записать в каталог полученный бинарник.
>> есть мысли?
> Мыслей есть масса, и все в сторону чтения логов. Мне почему-то кажется,
> что компилеру сива не хватает прав, чтобы записать в каталог полученный
> бинарник.Может быть, но я вроде пробовал дать права, но 0 эмоций. Результата никакого.
В логах ничего подозрительного не было.