如何让 Postfix 根据地址拒绝邮件传输?

如何让 Postfix 根据地址拒绝邮件传输?

我想通过运行邮件服务器来了解如何运行邮件服务器。

为了负责任地避免成为开放中继,我希望 Postfix 拒绝所有未发往 <有效用户>@<主机名> 或(来自 <有效用户>@<主机名> 且连接来自本地主机)的邮件。它会默认这样做吗?还是我必须设置一些配置?

答案1

您可以在内部进行许多检查main.cf,以便您可以完全按照自己的意愿行事。有些可能已设置,有些则可能未设置。例如,Debian 和 Ubuntu 似乎通常具有合理的默认值,而 RHEL 等通常没有。

在规范中main.cf,您通常必须mydestination使用逗号分隔的允许作为目标域的域名列表。此外,您可能只允许接受某些事情,例如通过设置mynetworks为 IP 地址和子网 (CIDR) 列表进行中继。然后,根据您设置的这两个值(以及其他内容)将所有内容放在一起smtpd_recipient_restrictions,例如以下摘录:

smtpd_recipient_restrictions =
    permit_sasl_authenticated,
    reject_invalid_hostname,
    reject_non_fqdn_sender,
    reject_non_fqdn_recipient,
    reject_unknown_sender_domain,
    reject_unknown_recipient_domain,
    reject_unauth_pipelining,
    permit_mynetworks,
    reject_unauth_destination,
    ...

限制的顺序问题。您可以看到,在允许mynetworks ( permit_mynetworks) 之前,我们已经限制了接收消息。

你最好的做法可能是阅读优秀的文档,例如以下是您最关心的话题

答案2

Postfix 应该正确配置为不是开放式中继,开箱即用。您必须明确更改设置以使其成为开放中继

相关内容