I have a similar setup in the works (the external spam filtering
hasn't been engaged yet, so I haven't tested this).
I'm thinking smtpd_client_restrictions would do the job, like so (the
excerpts are from main.cf):
smtpd_client_restrictions =
permit_mynetworks
permit_sasl_authenticated
check_client_access hash:$config_directory/tables/client_access_maps
reject
I've set the other restrictions are as follows (but limiting mail
reception only to a set of about five IPs is enforced by
smtpd_client_restrictions; the allowed IPs are defined in
client_access_maps table; local and SASL authenticated are allowed
also so that it's possible for the users of the system to send mail).
smtpd_helo_restrictions =
reject_invalid_helo_hostname
reject_non_fqdn_helo_hostname
permit_mynetworks
permit_sasl_authenticated
reject_unknown_helo_hostname
smtpd_etrn_restrictions =
permit_mynetworks
reject
smtpd_recipient_restrictions =
reject_non_fqdn_recipient
reject_non_fqdn_sender
reject_unknown_sender_domain
reject_unknown_recipient_domain
reject_unverified_recipient
check_recipient_access pcre:$config_directory/tables/pcre_access_maps
permit_mynetworks
permit_sasl_authenticated
reject_non_fqdn_hostname
reject_invalid_hostname
reject_unauth_destination
smtpd_data_restrictions =
reject_multi_recipient_bounce
reject_unauth_pipelining
---
Ville