На сервере трудится exim4. Поставили SpamAssasin.
В local.cf: required_score 5.0
В логах exim такие штуки:
2010-03-19 03:11:47 1NsPoY-0002Th-9i SA: Action: flagged as Spam but accepted: score=7.1 required=5.0 (scanned in 0/0 secs | Message-Id: 000d01cac6f8_c3751620_6400a8c0@bux). From <bux@ps-automation.ru> (host=NULL [187.14.24.230])Вопрос: почему SA пропускает такие сообщения? Где косяк?
>Вопрос: почему SA пропускает такие сообщения? Где косяк?required_score - еще не причина отвергнуть письмо. Это вполне может быть фальш-позитив, т.е. неверно опознанное легальное письмо, слегка заступившее за грань фола. Гораздо разумнее его принять и дать разобраться с ним пользователю, чем автоматически удалить.
У меня экзим со СА взаимодействуют так:
1. СА запущен демоном и почтой не рулит - лишь начисляет баллы. Поэтому required_score может быть даже нулевым - он не используется.
2. Экзим обращается к СА из ацля стадии DATA
3. СА анализирует тело письма и возвращает экзиму начисленные баллы
4. Экзим, в зависимости от количества баллов,
- либо пропускает письмо без изменений (меньше 5.0)
- либо дописывает ему хедер X-Spam-Ooops и пропускает (более 5.0, но меньше 10.0)
- либо баунсит письмо с сообщением инвективного характера (более 10.0)
5. Пропущенные письма отдаются LDA, который по наличию/отсутствию хедера X-Spam-Ooops раскладывает письма в каталоги JUNK/INBOX
acl_data:accept condition = ${if >{$message_size}{200k}{1}{0}} # Спама размером больше 200к практически не бывает, а СА на больших письмах сурово тормозит.
warn spam = spamd
add_header = X-Spam-Ooops: $spam_score_int
condition = ${if >{$spam_score_int}{50}{1}{0}} # 5.0 балла от САdeny spam = spamd
message = Sorry, this message is identified as spam.
condition = ${if >{$spam_score_int}{100}{1}{0}} # 10.0 баллаaccept # все, что не отсеялось на deny - с хедером и без