是否可以在后缀下使用milter来实现SPF?
在我看来,这是不可能的,因为后缀管理温和的方式。
根据后缀文档,milter位于消息处理链中:
网络=>后缀smptd处理=> MILTER =>后缀smtpd进程=>等
假设milter从postfix获取其消息,milter将看到它的初始连接来自postfix的IP地址。这意味着milter不知道原始发件人的IP地址。
SPF需要发送者的IP,所以似乎不可能在后缀milter中执行正确的SPF验证。
这似乎正是我在后缀服务器中安装测试milter时所发生的事情。
我是正确的,还是有人能够实现SPF通过后缀milter?
提前谢谢。
发布于 2016-04-28 16:51:10
好的。我现在更明白这个问题了。显然,我使用的milter实现没有正确设置{client_addr}。我将假设我的问题是我正在使用的底层milter实现(最近版本的pymilter)。
另外,我发现我可以解决这个问题,如下所示: postfix将客户端的主机名和IP地址放入它在发送消息给milter之前设置的最顶端的“接收”报头中。因此,我可以在milter中解析这个第一个“接收”头,以获得我需要的SPF客户端地址。
发布于 2016-04-27 18:39:00
Sendmail/Postfix执行给定milter 在传入SMTP会话期间提供的回调。后缀可能根据回调的结果拒绝某些SMTP命令。
后缀队列前缓冲器支持
Postfix实现了对Sendmail版本8 Milter (邮件过滤器)协议的支持。在MTA之外运行的应用程序使用此协议检查SMTP事件(连接、断开)、SMTP命令(HELO、MAIL等)。以及邮件内容(标题和正文)。所有这些都发生在邮件排队之前。
https://stackoverflow.com/questions/36756270
复制相似问题