如何在 Postfix 中创建忽略 SPF 检查的域名白名单

如何在 Postfix 中创建忽略 SPF 检查的域名白名单

我的问题似乎与如何设置 Postfix 仅检查我想要检查的域名的 SPF 记录-

我该如何修改我的 Postfix 服务器,以便它默认检查 SPF 以接收电子邮件,但允许我保留可以绕过检查的域的白名单?

我的 main.conf 文件包含一个节:

smtpd_recipient_restrictions = check_policy_service inet:127.0.0.1:10031,
                permit_mynetworks, 
                permit_sasl_authenticated,
                reject_unauth_destination,
                check_policy_service unix:private/spfpolicy

(顺便说一下,10031 是受政策约束的)

我的 master.conf 文件包含一个节:

spfpolicy       unix    -       n       n       -       -       spawn
        user=nobody argv=/usr/bin/perl /usr/sbin/postfix-policyd-spf-perl

答案1

我正在用这个方法。

我有一个包含白名单和黑名单域名的列表:

/etc/postfix/sender_checks

example.com REJECT Spam detected
example.org REJECT Spam detected
example.net OK

当文件发生改变时,必须对其进行散列处理。

postmap /etc/postfix/sender_checks

check_sender_access哈希映射在指令中引用smtpd_recipient_restrictions

smtpd_recipient_restrictions =
  reject_invalid_hostname
  reject_unknown_recipient_domain
  reject_unauth_pipelining
  reject_non_fqdn_sender
  reject_unknown_sender_domain
  reject_non_fqdn_recipient
  permit_mynetworks
  permit_sasl_authenticated
  reject_unauth_destination
  check_sender_access hash:/etc/postfix/sender_checks
  reject_rbl_client ix.dnsbl.manitu.net,
  reject_rbl_client zen.spamhaus.org,
  reject_rbl_client bl.spamcop.net,
  reject_rbl_client b.barracudacentral.org,
  reject_rbl_client dnsbl-1.uceprotect.net,
  check_policy_service unix:private/policy-spf,
  check_recipient_access hash:/etc/postfix/custom_replies

check_sender_access如果需要,您可以将支票进一步移到前面。

相关内容