Ситуация такая: есть exim+dbmail+clamav+spamassasin
Спам ассасин отлично режет спам, но и бывают случаи когда приходит письмо, и ни по каким статьям его в спам не упрятат, и спамассасин пропускает его.
И бывает когда приходят рабочие отчеты от серваков, скажем с отчетами о трафике и у которых заголовки кривоваты, и спамасасин успешно укладывает их в спам. Со вторым я ещё смирюсь, но с первым надо бороться точно.
Есть мускульная база: mail, в ней есть таблицы: whitelist и blacklist, с полями: id, sender(тут лежат записи, типа: *@spameram.net), active(по сути не нужное)
И есть два транспорта: spamd_router(доставляет почту в папку SPAM юзверю), dbmail_user_router(доставляет почту в INBOX юзверю)
И есть задача: Сделать на основе всего этого роуты, которые бы сначала смотрели в белый лист, если да, то доставляли бы без всяких проверок в INBOX.
И роут который бы смотрел в черный лист, если да, то смело кидал письмо в SPAM откуда по имапу юзверь если надо забирал бы письмецо.
Небольшой пример, который НЕ работает:
Код: Выделить всё
blacklist_router:
driver = accept
condition =${if !match{${lookup mysql{SELECT `id` FROM \
`blacklist` WHERE \
`sender`='${quote_mysql:$local_part@$domain}' OR \
`sender`='${quote_mysql:@$domain}'}{''}{yes}{no}}}
transport = spamd_router