sweh wrote:
Wouldn't "access" maps and relay_recipient_maps require pushing the user list to the spam "appliance"? That's what the original question was trying to avoid, by querying the backend SMTP server directly.
Pushing the user lists to the internet facing mailer is the only good way to do this.
If this mailer does not operate independently it can't queue mail when the internal mailer, or the network in between them goes down.
Also, If you perform a SMTP session from the internet to an internal mailer to check every single receipient ( i.e. a custom milter ) you are going to flood your internal mailer with unnecessary connections and cause SMTP delays to all incomming internet mail. You can't be sure how long mailers will wait for you to respond, not everyone follows the RFC's and you do have to comunicate with those that don't.
If you perform any kind of caching you will get cache sync issues and backscatter every time you delete or rename a user. There is also a risk of bugs and security holes in your custom milter.