postfix-mta: Milter for SPF?



是否可以在后缀下使用milter来实现SPF?

在我看来,这是不可能的,因为后缀管理米尔特的方式。

根据后缀文档,milter 位于消息处理链中:

网络 => 后缀 smptd 进程 => MILTER => 后缀 smtpd 进程 => 等。

假设 milter 从后缀 smtpd 获取其消息,则 milter 将看到其初始连接来自后缀的 IP 地址。这意味着 milter 不知道原始发件人的 IP 地址。

SPF 需要发件人的 IP,因此似乎不可能从后缀 milter 中执行正确的 SPF 验证。

这似乎正是我在后缀服务器中安装测试器时发生的情况。

我是否正确,或者有人能够通过后缀米尔特实现 SPF?

提前谢谢。

Sendmail/Postfix 在传入的 SMTP 会话期间执行给定 milter 提供的回调。 Postfix 可能会根据回调结果拒绝某些 SMTP 命令。

后缀队列前 Milter 支持

Postfix 实现了对 Sendmail 版本 8 Milter(邮件过滤器)协议的支持。在 MTA 外部运行的应用程序使用此协议来检查 SMTP 事件(连接、断开连接)、SMTP 命令(HELO、邮件发件人等)以及邮件内容(标头和正文)。所有这些都发生在邮件排队之前

https://en.wikipedia.org/wiki/Milter

好的。我现在更了解这个问题了。显然,我正在使用的 milter 实现没有正确设置 {client_addr}。我假设我的问题在于我正在使用的底层 milter 实现(pymilter 的最新版本)。

另外,我发现我可以按如下方式解决此问题:postfix 将客户端的主机名和 IP 地址放入它在将消息发送到 milter 之前设置的最顶层"已接收"标头中。因此,我可以解析milter中的第一个"已接收"标头,以获取SPF所需的客户端地址。

相关内容

  • 没有找到相关文章

最新更新