在浏览了 milter 的协议描述和具体的实现之后,决定自己动手实现一份。
sendmail 里面的 milter client 的实现,实在显得太复杂了。很多基本功能都没有实现为函数,在用到的地方直接实现;而且 sendmail 偏偏要实现所有的灵活性,导致代码的可读性非常糟糕。看了 sendmail 的具体实现之后,以为 milter 协议会很复杂,实现起来会有难度。在调通了 option 命令之后,发现并不复杂。中间花了一些时间在研究所谓的 macro 要传什么值。
具体的实现在 spnetkit 库里面。这次还顺便增加了 icap 的 client 。
[url]http://spnetkit.googlecode.com/files/spnetkit-0.3.0.src.tar.gz[/url]
sendmail 里面的 milter client 的实现,实在显得太复杂了。很多基本功能都没有实现为函数,在用到的地方直接实现;而且 sendmail 偏偏要实现所有的灵活性,导致代码的可读性非常糟糕。看了 sendmail 的具体实现之后,以为 milter 协议会很复杂,实现起来会有难度。在调通了 option 命令之后,发现并不复杂。中间花了一些时间在研究所谓的 macro 要传什么值。
具体的实现在 spnetkit 库里面。这次还顺便增加了 icap 的 client 。
[url]http://spnetkit.googlecode.com/files/spnetkit-0.3.0.src.tar.gz[/url]
本文分享了作者在深入研究Milter协议及其在Sendmail中的实现后的心得体会,并介绍了一个简化版的Milter客户端及ICAP客户端的实现过程。文章探讨了Milter协议的复杂性,并解释了如何通过简单的步骤实现关键功能。
9327

被折叠的 条评论
为什么被折叠?



