对于Web应用程序,我需要使用php从imap服务器读取邮件。
到目前为止,我已经使用了一个非常简单的脚本和php imap扩展,但是因为我需要一个强大的解决方案(我也尝试过pear imap包,但是用不同的编码它不是很可靠),它支持更多的功能,如pgp加密的电子邮件,我一直在考虑使用horde framework / imap客户端。
我不知道是否值得为imap函数安装和使用(相当复杂的)部落框架。有没有其他选择或建议?使用部落与php imap扩展的优点/缺点是什么?
(应用程序不应该提供任何Web界面,我只需要解析邮件并将内容/附件保存到数据库中)
更新 我尝试了Horde Imap Client,它易于安装和使用,但与php imap扩展相比,性能似乎有点慢(在php5.3 + eAccelerator上)。登录imap服务器+ fetch标头需要8秒(登录4.5s + fetch标头3.5s),而php imap扩展名不到4秒(登录3s + fetch标头0.5s)。我还在试图弄清楚我做错了什么,或者这只是本机php库与php imap扩展之间的正常区别。
答案 0 :(得分:2)
您可以使用Zend Framework中的Zend_Mail组件。我不知道它是否比Horde更复杂/更复杂,但你可以抓住那个组件及其依赖,你不需要所有的ZF。
答案 1 :(得分:2)
您可以安装Horde IMAP库而无需设置整个框架:
$ pear channel-discover pear.horde.org
$ pear install horde/horde_imap_client
答案 2 :(得分:1)
部落图书馆在登录邮件服务器时会做一些基本的内务管理和查询,最重要的是“查询收件箱”,这可能会占用大量文件夹的大量时间。
PHP附带的IMAP扩展不会这样做。您可以通过安装和使用Horde_Cache来加速这些查询。
PHP附带的IMAP扩展有很多陷阱,例如它很难登录交换服务器,gmail等。我从经验中发现,值得学习和使用部落库来解决这些问题,它应该花几个小时来制作有用的东西。当谈到从电子邮件正文中提取哑剧附件这样的事情时,我个人已经发现部落更容易。你的里程可能会有所不同。
希望这有帮助!