1

我目前正在我们的邮件服务器上实现 IMAP 协议。这是我第一次实施这么​​大的项目,到目前为止,我已经在 RFC 中编写了大部分 IMAP 命令,除了搜索命令。我一直在互联网上搜索并研究后缀算法数周,以了解如何正确编写搜索命令。在我遇到类似 OR OR ABCD ==> (OR (OR AB) C) D 之类的东西之前,似乎 Postfix 可以工作。谁能指出当有多个 OR 时如何实现 Search 命令的方向?

非常感谢您提供的任何帮助。

4

1 回答 1

0

这不会是你会喜欢的答案,但无论如何我都会推荐这个——不要这样做。IMAP 是一个极其复杂的协议,具有大量不明显的极端情况。基准版本 (RFC3501) 还遗漏了许多高级功能。为了获得合理的性能,尤其是对于移动客户端,您需要实现相当多的扩展。

如果我是你,我会建议与现有的开源 IMAP 服务器实现集成。如果你有一个花哨的存储后端,也许你可以为 Dovecot 或 Cyrus 编写一个插件。

如果您决定自己重新实现它并且这是您的第一个复杂项目,那么您很可能最终会得到一个在许多方面都被巧妙破坏的产品。如果您的目标是能够在销售手册中添加“speaks IMAP”短语,那么它会起作用,但实际上,您将至少在未来五年内解决互操作性问题。

于 2013-05-03T09:57:05.563 回答