Greylisting chápu, ten může být nepříjemný; ale také ho používám.
Jinak s tímhle mi to funguje docela použitelně:
# server applies in the context of a client connection request
smtpd_client_restrictions =
check_client_access hash:/etc/postfix/rbl_override,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client b.barracudacentral.org,
reject_rhsbl_reverse_client dbl.spamhaus.org,
reject_rbl_client smtp.dnsbl.sorbs.net,
reject_rbl_client auth.spamrats.com,
reject_rbl_client rbl.megarbl.net,
permit
smtpd_helo_restrictions =
reject_invalid_helo_hostname,
reject_rhsbl_helo dbl.spamhaus.org,
permit
# server applies in the context of the RCPT TO command, before smtpd_recipient_restrictions
smtpd_relay_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_pipelining,
reject_non_fqdn_recipient,
reject_unauth_destination,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client b.barracudacentral.org,
reject_rbl_client smtp.dnsbl.sorbs.net,
reject_rbl_client auth.spamrats.com,
reject_rbl_client rbl.megarbl.net,
# sqlgrey
check_policy_service inet:127.0.0.1:2501,
permit