【问题标题】:implement imap search on server在服务器上实现 imap 搜索
【发布时间】:2013-05-03 17:57:05
【问题描述】:

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

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

【问题讨论】:

    标签: search imap


    【解决方案1】:

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

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

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

    【讨论】:

    • 一月,感谢您分享您的想法。不幸的是,您对我必须从头开始编写它的原因是正确的。这样我们就可以在我们的产品上贴上“支持 IMAP”的标签。由于我们有一个自制的邮件服务器,我只能尽我所能实现它,或者直到我的老板把我踢出去;)我希望已经走这条路的人能给我一些指导,告诉我如何处理解析搜索命令的复杂性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    • 2014-02-06
    • 1970-01-01
    • 2012-08-08
    • 2019-05-27
    • 1970-01-01
    相关资源
    最近更新 更多