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

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
CtFelix
проходил мимо
Сообщения: 7
Зарегистрирован: 2015-03-11 8:30:17

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

Непрочитанное сообщение CtFelix » 2015-03-11 8:50:25

Добрый день!

Есть почтовый сервер на 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 проверять почту сборщика?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35439
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

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

Непрочитанное сообщение Alex Keda » 2015-03-11 12:47:10

Хост в исключениях?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
CtFelix
проходил мимо
Сообщения: 7
Зарегистрирован: 2015-03-11 8:30:17

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

Непрочитанное сообщение CtFelix » 2015-03-11 13:12:24

Какой хост? Если mail.kz, то он не в исключениях.

Аватара пользователя
CtFelix
проходил мимо
Сообщения: 7
Зарегистрирован: 2015-03-11 8:30:17

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

Непрочитанное сообщение CtFelix » 2015-03-12 8:17:13

Или вы локалхост имели виду? Локал хост в исключениях только в конфиге exim, из исключений его убирал, только всё рано не проверяет эту почту спам асасин.

Аватара пользователя
CtFelix
проходил мимо
Сообщения: 7
Зарегистрирован: 2015-03-11 8:30:17

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

Непрочитанное сообщение CtFelix » 2015-03-12 12:16:59

Подправил конфиг так:

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

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.
Но письмо не пометилось как спам, в теле письма так же нет записей о том, что его проверил спамассасин и присвоил ему какие то очки, а если это письмо прислать с внешки, то оно помечается как спам и попадает в соответствующую папку.

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

Аватара пользователя
CtFelix
проходил мимо
Сообщения: 7
Зарегистрирован: 2015-03-11 8:30:17

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

Непрочитанное сообщение CtFelix » 2015-03-13 13:26:17

Разобрался в чём была проблема, немного не верно был написан конфиг 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
И теперь спамассасин проверяет всю почту, и с внешки, и ту что доставляет фетч, ставит соответствующие пометки и убирает в папку спам согласно правилам.