PHP:从 POP3 或 IMAP 下载传入的电子邮件,对其进行解析,并在服务器上将其标记为已读/删除
Posted
技术标签:
【中文标题】PHP:从 POP3 或 IMAP 下载传入的电子邮件,对其进行解析,并在服务器上将其标记为已读/删除【英文标题】:PHP: Download incoming email from POP3 or IMAP, parse it, and mark it as read/delete on server 【发布时间】:2010-11-29 20:18:27 【问题描述】:我正在尝试将收到的电子邮件添加到我的 Web 应用程序。它建立在 CodeIgniter 和 php 之上,据我所知,我还没有找到任何 CI 库来执行此操作。
我想做的是有一个控制器通过 POP3 或 IMAP 连接到我的邮箱,并检索邮件,解析它然后将其从服务器中删除。
从 postfix/etc 管道邮件在我的服务器设置上不起作用。
任何建议都会非常有帮助。
谢谢!
【问题讨论】:
【参考方案1】:http://ca.php.net/imap
$mb = imap_open("host:port/imap","username", "password" );
$messageCount = imap_num_msg($mb);
for( $MID = 1; $MID <= $messageCount; $MID++ )
$EmailHeaders = imap_headerinfo( $mb, $MID );
$Body = imap_fetchbody( $mb, $MID, 1 );
doSomething( $EmailHeaders, $Body );
【讨论】:
真的很有帮助,我实际上正在寻找这样的东西,几乎可以工作,但仍然无法获取/显示电子邮件的内容....【参考方案2】:对于更独立的方法,您可以使用 Zend 框架 (https://docs.zendframework.com/zend-mail/read/) 构建第三方插件。我在 Codeigniter 中使用了他们的 ACL 模块,这是充分利用这两个框架的好方法。
这还允许您解析电子邮件和提取附件等。
【讨论】:
以上是关于PHP:从 POP3 或 IMAP 下载传入的电子邮件,对其进行解析,并在服务器上将其标记为已读/删除的主要内容,如果未能解决你的问题,请参考以下文章