【问题标题】:PHP Imap extension vs. Horde Framework imap client (or other alternatives)PHP Imap 扩展与 Horde Framework imap 客户端(或其他替代方案)
【发布时间】:2011-07-12 04:12:22
【问题描述】:

对于网络应用程序,我需要使用 php 从 imap 服务器读取邮件。

到目前为止,我使用了一个非常简单的脚本和 php imap 扩展,但是因为我需要一个强大的解决方案(我也尝试过 pear imap 包,但它在使用不同的编码时不是很可靠),它支持更多的功能,比如 pgp加密电子邮件,我一直在考虑使用 horde 框架/imap 客户端。

我不知道是否值得为 imap 功能安装和使用(相当复杂的)horde 框架。有什么替代方案或建议吗?使用 horde 与 php imap 扩展有什么优点/缺点?

(该应用程序不应该提供任何网络界面,我只需要解析邮件并将内容/附件保存到数据库)

更新 我试用了Horde Imap Client,它安装和使用都很简单,但是与php imap 扩展(在php5.3+eAccelerator 上)相比,性能似乎有点慢。在 imap 服务器上登录 + 获取标头需要 8 秒(登录 4.5 秒 + 获取标头 3.5 秒),而使用 php imap 扩展(登录 3 秒 + 获取标头 0.5 秒)不到 4 秒。我仍在试图弄清楚我做错了什么,或者这只是原生 php 库与 php imap 扩展之间的正常区别。

【问题讨论】:

  • 你最终使用了什么?部落还是?我正在开发一个应用程序,我需要每分钟从 IMAP 获取数百个用户的电子邮件,所以我正在寻找一个针对性能进行优化的 PHP IMAP 库。

标签: php imap horde


【解决方案1】:

您也可以在不设置整个框架的情况下安装 Horde IMAP 库:

$ pear channel-discover pear.horde.org
$ pear install horde/horde_imap_client

【讨论】:

  • 它工作得很好,我只是有点担心性能。只需连接到 imap 服务器并获取电子邮件标头大约需要 8 秒(php imap 扩展 ~4 秒,我使用 php5.3+eAccelerator)。这种差异是正常的(纯 php、框架开销等)还是我做错了什么?
  • 我建议您在部落开发者邮件列表中寻求支持。这应该快得多。 horde.org/community/mail
  • 您还应该考虑安装 Horde_Nls(用于处理编码的 mime 部分中的代码页/UTF-8 问题)和 Horde_Cache(用于显着加快与服务器的连接)。
【解决方案2】:

您可以使用 Zend Framework 中的 Zend_Mail 组件。我不知道它是否比 Horde 复杂/复杂,但您可以只获取该组件及其依赖项,而不需要所有 ZF。

Reading messages with Zend_Mail

【讨论】:

    【解决方案3】:

    部落库在登录邮件服务器时会进行一些基本的内务管理和查询,其中最大的一项是“ENQUIRE INBOX”,对于大型文件夹可能会花费大量时间。

    PHP 附带的 IMAP 扩展不这样做。您可以通过安装和使用 Horde_Cache 来加速这些查询。

    PHP 附带的 IMAP 扩展有很多陷阱,例如它很难登录到 Exchange 服务器、gmail 等。我从经验中发现值得学习并使用 horde 库来解决这些问题,它应该需要几个小时才能制作出有效的东西。当谈到从电子邮件正文中提取 mime 附件之类的事情时,我个人发现 horde 更容易做到这一点。您的里程可能会有所不同。

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-23
      • 1970-01-01
      • 1970-01-01
      • 2011-07-20
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      • 2015-07-09
      相关资源
      最近更新 更多