3

对于 Web 应用程序,我需要使用 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 扩展之间的正常区别。

4

3 回答 3

2

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

使用 Zend_Mail 阅读邮件

于 2011-07-12T04:17:38.603 回答
2

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

$ pear channel-discover pear.horde.org
$ pear install horde/horde_imap_client
于 2011-07-12T17:41:50.267 回答
1

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

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

The IMAP extension that comes with PHP has many gotchas, for example it can struggle to log into exchange servers, gmail, etc. I have found from experience that it's worth learning and using the horde library to get around these problems, it should take you a couple of hours to produce something that works. When it comes to things like extracting mime attachments from an email body, i personally have found horde to be easier for this. your mileage may vary.

Hope this helps!

于 2018-03-15T16:07:31.897 回答