Страница 1 из 1

Fetchmail и Spamassassin как их подружить?

Добавлено: 2015-03-11 8:50:25
CtFelix
Добрый день!

Есть почтовый сервер на FreeBSD связка Exim+Dovecot+Roundcube дополнительно есть сборщик почты Fetchmail для защиты от спама установлен SpamAssassin.

SpamAssassin работает и проверяет только почту, которая была получена из вне на почтовый адрес, помечает и отправляет в соответствующую папку, но почту, которую доставляет Fetchmail не проверяет совсем, а как сделать так, чтобы SpamAssassin проверял почту доставленную Fetchmail я не могу разобраться.

Конфиг фетча выглядит так.

Код: Выделить всё

set postmaster "postmaster"
set nobouncemail
set no spambounce
set properties ""
set syslog

poll mail.kz with proto POP3
        user 'take-it@mail.kz' there with password '2312456' mda "/usr/sbin/sendmail -oem -f %F put-it@domain.kz" fetchall
В логе эксима я вижу, что фетч зашёл взял письмо и положил его в целевой ящик. Просматриваю заголовок сообщения и там нет никакой информации о проверки письма асасином. Если письмо приходит из внешки то в заголовках есть сообщение, что асасин его проверил, а вот фетч не проверяет.

Может кто сталкивался с подобной ситуацией и может подсказать как заставить SpamAssassin проверять почту сборщика?

Fetchmail и Spamassassin как их подружить?

Добавлено: 2015-03-11 12:47:10
Alex Keda
Хост в исключениях?

Fetchmail и Spamassassin как их подружить?

Добавлено: 2015-03-11 13:12:24
CtFelix
Какой хост? Если mail.kz, то он не в исключениях.

Fetchmail и Spamassassin как их подружить?

Добавлено: 2015-03-12 8:17:13
CtFelix
Или вы локалхост имели виду? Локал хост в исключениях только в конфиге exim, из исключений его убирал, только всё рано не проверяет эту почту спам асасин.

Fetchmail и Spamassassin как их подружить?

Добавлено: 2015-03-12 12:16:59
CtFelix
Подправил конфиг так:

Код: Выделить всё

set postmaster "postmaster"
set nobouncemail
set no spambounce
set properties ""
set syslog

poll pop.yandex.ru with proto POP3
user 'take-it@yandex.ru' there with password '5452778' is 'put-it@domain.kz' here
smtp 192.168.20.3/25
Так я вижу в логах эксима, что письма fetchmail пересылает как будто они с внешки.

В логах теперь видно, что эти письма проверяет и спамассасин и выставляет им очки. В случае с этим письмом письму было выставлено 6 очков, это спам.

Код: Выделить всё

11406 Mar 12 14:53:39 webserver fetchmail[49414]: Ошибка проверки сертификата сервера: unable to get local issuer certificate
11407 Mar 12 14:53:39 webserver fetchmail[49414]: This means that the root signing certificate (issued for /C=PL/O=Unizeto Technologies S.A./OU=Certum Certification Authority/
11408 Mar 12 14:53:39 webserver fetchmail[49414]: Ошибка проверки сертификата сервера: certificate not trusted
11409 Mar 12 14:53:39 webserver fetchmail[49414]: Warning: the connection is insecure, continuing anyways. (Better use --sslcertck!)
11410 Mar 12 14:53:40 webserver fetchmail[49414]: 1 сообщение для take-it@yandex.ru на pop.yandex.ru (2370 октетов).
11411 Mar 12 14:53:40 webserver spamd[47983]: spamd: connection from localhost [127.0.0.1]:57185 to port 783, fd 5.
11412 Mar 12 14:53:40 webserver spamd[47983]: spamd: setuid to admin succeeded.
11413 Mar 12 14:53:40 webserver spamd[47983]: spamd: checking message <10801011426150400@web29h.yandex.ru> for admin:1001.
11414 Mar 12 14:53:50 webserver spamd[47983]: spamd: identified spam (6.0/3.0) for admin:1001 in 10.0 seconds, 2893 bytes..
11415 Mar 12 14:53:50 webserver spamd[47983]: spamd: result: Y 6 - FREEMAIL_FROM,LONGWORDS,T_RP_MATCHES_RCVD,URIBL_BLACK,URIBL_DBL_SPAM scantime=10.0,size=2893,user=admin,uid=
11416 Mar 12 14:53:50 webserver fetchmail[49414]: считывается сообщение take-it@yandex.ru@pop.yandex.ru:1 из 1 (2370 октетов) очищено
11417 Mar 12 14:53:50 webserver spamd[47964]: prefork: child states: II.
Но письмо не пометилось как спам, в теле письма так же нет записей о том, что его проверил спамассасин и присвоил ему какие то очки, а если это письмо прислать с внешки, то оно помечается как спам и попадает в соответствующую папку.

Как выяснить почему письмам, которые доставляет фетч и проверяет спамассасин в тело не дописывается результат проверки?

Fetchmail и Spamassassin как их подружить?

Добавлено: 2015-03-13 13:26:17
CtFelix
Разобрался в чём была проблема, немного не верно был написан конфиг exim подправил.

Было так:

Код: Выделить всё

#spamassasin

accept senders = /usr/local/etc/exim/white.list

warn  message = X-Spam-Status: Yes
		hosts   = !+relay_from_hosts
		spam    = admin:true

warn  message = X-Spam-Score: $spam_score ($spam_bar)
        hosts   = !+relay_from_hosts
        spam    = admin:true

warn  message = X-Spam-Report: $spam_report
        hosts   = !+relay_from_hosts
        spam    = admin:true

warn  message = Subject: ***SPAM*** $h_Subject:
        hosts   = !+relay_from_hosts
        spam    = admin

deny  message = This message scored $spam_score spam points.
		spam    = admin:true
		log_message = It`s SPAM!!!!
		hosts   = !+relay_from_hosts
		condition = ${if >{$spam_score_int}{120}{1}{0}}

accept
Подправил так:

Код: Выделить всё

#spamassasin

accept senders = /usr/local/etc/exim/white.list

# put headers in all messages (no matter if spam or not)
		warn  spam = admin:true
		add_header = X-Spam-Score: $spam_score ($spam_bar)
		add_header = X-Spam-Report: $spam_report

# add second subject line with *SPAM* marker when message
# is over threshold
		warn  spam = admin
		add_header = Subject: ***SPAM*** $h_Subject:

warn  message = X-Spam-Status: Yes
		hosts   = !+relay_from_hosts
		spam    = admin:true

deny  message = This message scored $spam_score spam points.
		spam    = admin:true
		log_message = It`s SPAM!!!!
		hosts   = !+relay_from_hosts
		condition = ${if >{$spam_score_int}{120}{1}{0}}

accept
И теперь спамассасин проверяет всю почту, и с внешки, и ту что доставляет фетч, ставит соответствующие пометки и убирает в папку спам согласно правилам.