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

Reply via email to