如何在postfix中禁用本地中继,对于未经authentication的用户?

我想阻止我的php脚本通过本地主机25中的MTA发送邮件,而无需身份validation。

我被告知,默认情况下,服务器相信自己,这就是为什么我不需要auth在这种情况下。 所以我必须禁用“未authentication的本地中继”。 我怎样才能实现在后缀

在您的Postfixconfiguration中,您可以使用设置smtpd_recipient_restrictions来决定谁应该能够使用您的服务器作为中继。

例如,在我的configuration看起来像这样:

 smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination 

这意味着每个来自我的networking的人(也请参阅mynetworks设置)以及所有经过身份validation的人都可以发送电子邮件。 简单地删除permit_mynetworks ,没有人可以发送电子邮件没有身份validation了。 只要注意,这可能会打破目前依赖于能够发送电子邮件而无需身份validation的其他程序,而不仅仅是您的PHP应用程序。

你确定你的脚本通过TCP连接发送电子邮件到本地主机? 这是非常罕见的,本地电子邮件通常直接注入到postfix maildrop队列中。