2009-10-21 145 views
1

我需要处理一封电子邮件收件箱,监控它是否含有特定主题行的邮件。如果发现匹配,我需要获取正文内容,操作并插入数据库。理想情况下,将邮件标记为已读,并将其移至另一个IMAP文件夹。使用PHP处理IMAP电子邮件

我打探PHP文件imap_open(http://us2.php.net/imap_open),并找到了一个链接http://www.linuxscope.net/articles/mailAttachmentsPHP.html#_jmp0_

之前,我太远了,我想知道是否有人知道现有的PHP类,是对基础知识的好包装的我在寻找:

IMAP:

  • 连接
  • 列表文件夹
  • 个列表邮件
  • 读的邮件 - 从,到,主题,正文
  • 将邮件移动到服务器文件夹
  • 读/未读状态

谢谢!

+0

如果您使用CakePHP,这可能会对您有所帮助: https://github.com/kvz/cakephp-emails-plugin – Chaim 2011-04-07 19:16:11

回答

1

我没有使用它,但发送邮件,但看起来Zend_Mail组件会让你至少大部分的方式。它似乎不支持在服务器上移动消息,但您可以简单地扩展它。

0

我试过Zend_Mail IMAP并有一些高点和低点。我可以连接和阅读,移动电子邮件,但它是很有问题的。您可以检查主题或发件人,解析标题,通过解析不同的部分来获取附件。

Zend_Mail_Protocol_Imap没有使用任何PHP imap/ext函数。 (Why?)使用数千封电子邮件阅读文件夹速度很慢。文件夹的内部顺序实际上并不是按时间顺序排列的,这很奇怪。可能取决于存储的实施方式(我解析了google.pro帐户)。有时连接关闭unexpectedly并调试它很重。

还有一个Pear_IMAPv2,这是测试版,我甚至无法成功安装。另一种方法是安装imap/ext并自己做所有事情。

祝你好运。