Postfix 限制收件人

Postfix 限制收件人

如何配置 Postfix 以仅允许发送到某个(外部)域?

我已经在使用 check_recipient_access。我的 /etc/postfix/recipients_restrictions 的内容:

domain.com OK

我的(当前)配置:

smtpd_recipient_restrictions =
                        permit_mynetworks,
                        check_recipient_access hash:/etc/postfix/recipients_restrictions,
                        permit_sasl_authenticated,
                        reject_unknown_recipient_domain,
                        reject_unauth_destination,
                        reject

我已经尝试切换 permit_mynetworks 和 check_recipient_access。如果我在 Recipients_restrictions 文件中创建“baddomain.com REJECT”之类的条目,它就可以正常工作。我发现,在这个文件中没有办法为“Reject”创建通配符(如果我错了,请纠正我)。

我希望该服务器仅向少数域的地址发送邮件,并出于安全考虑限制其向任何其他域发送邮件。

答案1

check_mumble_access 表永远不会返回默认值 REJECT;fallthrough 默认值始终为 DUNNO,这意味着它将检查其余的限制。

您也不想对您希望允许的所有域返回 OK,因为这样不会检查其余的限制。

您应该使用 SASL 和 TLS 在端口 587 上设置提交,以将邮件提交到 postfix 机器;然后,这个专用的监听器可以只允许流量到一个域。

如果失败的话,您将必须为其创建一个restriction_class,以便permit_checks依赖于收件人(域)和发件​​人(域)。

这是一个不简单的练习。

答案2

/etc/postfix/main.cf:
    smtpd_recipient_restrictions =
        check_recipient_access hash:/etc/postfix/protected_destinations
        ...the usual stuff...

    smtpd_restriction_classes = insiders_only
    insiders_only = check_sender_access hash:/etc/postfix/insiders, reject

/etc/postfix/protected_destinations:
    [email protected]   insiders_only
    [email protected] insiders_only

/etc/postfix/insiders:
    my.domain       OK  matches my.domain and subdomains
    another.domain  OK  matches another.domain and subdomains

取自此处: http://vicky2183.wordpress.com/2010/07/09/postfix-per-recipient-sender-restrictions/

几年前我就用过这样的设置。我限制本地收件人只能发送和接收来自允许目的地的电子邮件。

答案3

我发现我必须删除permit_mynetworks它才能拒绝任何未指定的内容check_recipient_access

相关内容