Hi,
I'm using postfix-2.10.3 on fedora20 and I don't understand how to use
pcre. I've read the pcre man page, but it doesn't explain how it applies to
using it with check_helo_access and a pcre table.
For a regular postmap hash, I would do the following for a host without a
valid forward DNS entry (and the complementing reverse):
host.example.com OK
192.168.0.1 OK
For pcre, I wanted to be sure the following would be acceptable:
/^host\.example\.com$/ OK
/192.168.0.1/ OK
It's both the left and right side I don't understand. The check_helo_access
section of postconf(5) seems to use "OK" and "REJECT" in the same way as
other tables, but doesn't specifically define their usage.
For compleness, here is my smtpd_recipient_restrictions:
smtpd_recipient_restrictions =
reject_non_fqdn_recipient,
check_client_access hash:/etc/postfix/client_checks_special,
check_sender_access hash:/etc/postfix/sender_checks_special,
reject_non_fqdn_sender,
reject_unlisted_recipient,
permit_mynetworks,
reject_unauth_destination,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_rhsbl_reverse_client mykey.dbl.dq.spamhaus.net,
reject_rhsbl_sender mykey.dbl.dq.spamhaus.net,
reject_rhsbl_helo mykey.dbl.dq.spamhaus.net
check_helo_access pcre:/etc/postfix/helo_checks.pcre,
reject_invalid_helo_hostname,
check_policy_service inet:127.0.0.1:2501,
check_client_access hash:/etc/postfix/client_checks,
check_sender_access hash:/etc/postfix/sender_checks,
check_recipient_access pcre:/etc/postfix/relay_recips_access,
check_recipient_access pcre:/etc/postfix/property_recip_map,
check_recipient_access pcre:/etc/postfix/recipient_checks,
check_recipient_access pcre:/etc/postfix/relay_recips_ecartis,
permit
The client_checks_special and sender_checks_special were created because I
didn't know how to order the check_*_access later on and still properly
bypass some of the earlier checks. Adding these unknown hosts to
sender_checks_special has been a way for me to resolve the helo checks
issue.
Maybe all I need to do is move my check_helo_access to before the
reject_*_domain checks?
Thanks for any ideas.
Alex