Hi!

(sorry for my bad english)

I have a lot of domains and email address that receives a lot of spam. I
have created a filter to route the spam to a script. This is my current
setup:

master.cf:
[...]
localrbl  unix  -       n       n       -       -       pipe
  flags=F user=nobody argv=/usr/local/bin/php -f
/opt/localrbl/add_localrbl.php ${client_address} ${client_helo} ${sender}
[...]

access:
ema...@domain1.com FILTER localrbl:dummy
em...@domain1.com FILTER localrbl:dummy
domain2.com FILTER localrbl:dummy

main.cf:
[...]
smtpd_recipient_restrictions =
    check_recipient_access hash:/usr/local/etc/postfix/access
[...]

This is currently working for the emails and domains in access file.

Now, my problems:

* Although the filter catch the emails and domains in access file, those
emails continue the smtpd_recipient_restrictions part, so it's being
checked for dnsbl, whitelist and all other restrictions. There a way to
stop the process if an email has been catched by the filter ? For example,
a spam is never passed through the filter (even if it's catched) if the
source IP is on a dnsbl list (because it's rejected). I want this email
pass the filter too.

* All emails address in access file must be a valid recipient. The emails
must have a valid virtual mailbox. If it don't exists, the email is
rejected although the filter catch the email correctly. There is a way to
add emails to the access file and avoid the need to create a real virtual
mailbox for it ?

* I want to add a whole domain (like domain2.com in the example), except
for two emails. So, the filter can catch all other attempts, even random
recipients. I tried to create a catch-all address with an alias, and put
the alias in access file, but this dont work. Email going to any random
recipient on this domain, is delivered to the alias, instead of catched by
the filter. I think is for the "orig_to" field not being catched by the
filter

Thanks for your help!

Reply via email to