如何设置后缀以仅检查我要检查的域的 SPF 记录

use*_*785 4 smtp postfix spf

我有工作后缀服务器。它配置了 amavis 并使用了非常好的 SMTP 标头控制。但有时我的用户会收到来自垃圾邮件发送者的垃圾邮件,这些垃圾邮件的地址是众所周知的邮件服务提供商地址。喜欢:@gmail.com @yahoo.com 等。当然,他们从非法服务器发送这些垃圾邮件,但具有正确的 DNS 记录(A 和 PTR)和 EHLO 标头。服务器不能拒绝这封邮件。

所以,我不想使用 rbl 由于假|正。我不想使用灰名单到期超时。

我想使用 SPF 检查,但仅适用于来自已知域的邮件。我知道该域具有正确的 SPF 记录。

我知道存在 2 个 SPF 守护进程(policyd-spf-perl 和 policyd-spf-python),它们似乎没有这样的功能。

所以我的问题是:是否可以仅检查特定域列表的 SPF 记录?

mas*_*oeh 6

是的你可以

查看 postfix SMTP 访问策略委派的示例,其中显示您可以从频繁伪造的域启用灰名单。它smtpd_restriction_classes用来实现它。

所以你可以使用这种情况来满足你的场景

# /etc/postfix/main.cf:

smtpd_recipient_restrictions =
    reject_unlisted_recipient
    ...
    reject_unauth_destination 
    check_sender_access hash:/etc/postfix/sender_access
    ...
smtpd_restriction_classes = spfcheck
spfcheck = check_policy_service unix:private/spfcheck

# /etc/postfix/sender_access:
    aol.com     spfcheck
    hotmail.com spfcheck
    bigfoot.com spfcheck
    ... etcetera ...
Run Code Online (Sandbox Code Playgroud)