Spamszűrés Exim MySql Catch All esetén hogyan?

Exim-ben szeretnék mindent fogadó fiókot megvalósítani, mysql háttérrel, ki/be kapcsolható spamszűrővel.
Az ACL alatt eldöntöm, hogy a címzettnek be van-e kapcsolva a spamszűrése,


warn set acl_m_spamfilter_enabled = ${lookup mysql { SELECT `spamfilter` VIRTUAL_USER_FROM_WHERE_MACRO}}

majd az sa-exim.conf fájlban ezt a változót használva kapcsolom ki/be a spamassassint:


SAEximRunCond: $acl_m_spamfilter_enabled

Ez egészen addig jól működik, míg valódi címzettnek jön a levél.
Mindent fogadó fiók esetén azonban előbb fut le az ACL, és csak utána a ROUTER, így az ACL alatt még nem tudom, hogy melyik a valódi user, akihez be fog kerülni a levél, így azt sem tudom megmondani, akarja-e a spamszűrést, vagy sem.
Azt reméltem, hogy a redirect router az átirányítás után újra kezdi a levélfeldogozást, és így a már meghatározott felhasználónál újra lefut az ACL, vagyis megfelelően kapcsolgatja majd a spamszűrést.
Ezzel ellentétben redirect után már nem változtat a spamszűrésen.
A spamszűrés kivételével rendben működik a mindent fogadó fiók.
Meg tudom ezt valahogyan oldani?
Van olyan redirect, ami előről kezdi a levélfeldogozást?

Hozzászólások

Még egy warn opciónál a catchall domainek alapján is állítsd be az acl -t. SELECT ... WHERE domain = $sender_address_domain AND catchall = 1 ... szerűen.

A másik megoldás, hogy minden lokáldomainen spamszűrsz és máshol döntöd el az emailek osztályzását.

A redirect a routereket kezdi újra, nem a teljes feldolgozást, így már nem tudsz újabb ACL-t kapcsolni.

Eredetileg én is azt terveztem, hogy az exim minden levelet spamszűr, beteszi a header-be a fejlécet, és majd a dovecot jelzi vagy elpakolja a user igénye alapján.
Azonban van olyan spam, amit a spamassassin már be sem enged a szerverre. (Például a saját teszt spam levele.)
Emiatt kénytelen vagyok az eximben kikapcsolni a spamassassin-t, ha nem kell spamszűrés.
Vagy a spamassassinban ki lehet kapcsolni azt a funkciót, hogy legyen levél, amit be sem enged?

Exim esetén (ha a spam_address opciót és a spam = acl rulet használod) egy data acl-en szokott múlni, hogy milyen ponthatártól spam a spam, tehát az Exim utasít vissza végső soron. Ugyanebben az ACL-ben tudsz whitelistelni Exim sziten. Spamassassin szinten a whitelist_from használható, amikor ugyan lesz spamellenőrzés, de egy -100 pontos extrát rátol a mailre.

Ami nálam jól beváltan működik (sokezer domaines és sokezer fiókos nagyságrend) az a dnsbl és szelektív greylist alapú előszűrés és csak ami átjut és nincs a mail from-on whitelist azon fut a spamassassin. Ami nagyon spam azt visszacsapom smtp után, ami csak simán spam az megy a juzerek spam/junk folderébe.

Jellemzően a feketelistázott küldő szerverekkel fordul elő gond vagy az spf-et nem sikerül a küldő domainen jól beállítani. A felhasználóknak ilyenkor sulykolom, hogy használják a fontos feladókkal a whitelistet.

Végül azt választottam, hogy az acl-ben tiltom a spamszűrést, ha megtalálható a címzett, ha nem akkor engedélyezem, és a szűrés eredményét mindenképp a dovecot kezeli majd le.
Ez ugyan nem teljes megoldás, és nem is a legszebb, de elfogadható.
Azért nagyon meglep, hogy a redirect routernek nincs olyan opciója, hogy küldje vissza a teljes levélfeldolgozás elejére, mintha egy külső címre küldené tovább.