Вход:  Пароль:  
FreeSource: Dokumentacija?/PostfixDspamDovecot ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Эта страница была перенесена на altlinux.org. Текст на freesource.info заморожен.

Postfix + DSPAM + Dovecot


Используются системные пользователи, т.к. пользователям нужен доступ по ftp в домашние директории для редактирования sieve-фильтров, а поднимать LDAP/RDBMS мне было лень, точнее, хотелось оставить инсталляцию минимальной. MTA и оба MDA общаются через pipe-интерфейс, т.к. Dovecot совсем не умеет LMTP, а использовать 2 разных механизма (LMTP для Postfix -> DSPAM и pipe для DSPAM -> Dovecot) опять-таки не хотелось. Итак, конфиги:


# cat /etc/postfix/main.cf
mailbox_command = /usr/bin/dspam --deliver=innocent --user $LOGNAME — -d $LOGNAME
unknown_local_recipient_reject_code = 450
mynetworks = $config_directory/mynetworks


# cat /etc/dspam.conf

Home /var/lib/dspam


Storage Driver? /usr/lib64/libhash_drv.so
Hash Auto Extend? on


Untrusted Delivery Agent? «/usr/lib64/dovecot/deliver -d %u»


Training Mode? teft
Test Conditional Training? on


Feature whitelist


Algorithm graham burton
PValue bcr


Preference «spamAction=tag»
Preference «signatureLocation=headers»
Preference «showFactors=off»
Preference «spamSubject= "


Notifications off


Local MX? 127.0.0.1


System Log? on
User Log? on


# cat /etc/dovecot/dovecot.conf

protocols = imap


shutdown_clients = yes


ssl_disable = yes
disable_plaintext_auth = no


mail_location = mbox:/mail/data:INDEX=~/mail/index


lock_method = fcntl


protocol pop3 {

pop3_uidl_format = %08Xu%08Xv

}

protocol lda {

auth_socket_path = /var/run/dovecot/auth-master
postmaster_address = root@localhost
mail_plugins = cmusieve

}


protocol imap {

mail_plugins = antispam

}

auth default {

mechanisms = plain login
passdb pam {
}
userdb passwd {
}
user = root
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0666
}
}

}


plugin {

sieve = mail/filter/filter.sieve
antispam_signature = X-DSPAM-Signature
antispam_spam = SPAM
antispam_trash = Trash
antispam_dspam_binary = /usr/bin/dspam
antispam_dspam_args = --user %u
}

Без дополнительных телодвижений такая конфигурация не обеспечивает ничего интересного, кроме дополнительных тормозов при анализе корреспонденции, результат анализа помещается в заголовок X-DSPAM-Result (Spam или Innocent). Но наличие плагина antispam (http://johannes.sipsolutions.net/Projects/dovecot-antispam) позволяет путем перемещения писем в папку SPAM и из нее обучать dspam, благодаря чему последний рано или поздно научится выставлять заголовки X-DSPAM-Result правильно. Можно ускорить этот процесс, если провести предварительное обучение с помощью утилиты dspam_corpus. Наконец, если каждый пользователь напишет у себя в mail/filter/filter.sieve (можно, впрочем, и глобальный фильтр для всех пользователей описать) нечто вроде:


require “fileinto”;
if header :contains “X-DSPAM-Result” “Spam” {
fileinto “SPAM”;
}

то все, что DSPAM пометил как спам, пойдет прямиком в папку SPAM.


Страницы, ссылающиеся на данную: Документация/Postfix


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]