使用PHP IMAP转发电子邮件的简单方法



我正在编写一个脚本,该脚本将获取同一服务器上不同帐户中的所有新电子邮件,检查关键字,然后根据找到的关键字将每个电子邮件移动到该帐户中的不同帐户和文件夹。我一直在寻找一种简单的方法,将电子邮件从一个帐户移动到另一个帐户,并移动到该帐户中的文件夹。似乎没有一个简单的imap_forward((函数。imap_mail_move((仅适用于同一帐户。我已经在互联网上搜索了几个小时,想找到一种方法来做到这一点,而不必像发送新电子邮件一样,在将电子邮件发送到目的地地址之前循环浏览附件并提取电子邮件的每一部分。我需要确保在这个过程中没有信息丢失,并且电子邮件到达目的地时与最初收到的完全相同。它可以看起来像一条转发的消息,这很好,只要附件、地址和正文完好无损。

如果您也可以通过IMAP访问目标邮箱,则可以同时打开两个IMAP连接。使用一个连接从源帐户读取消息,另一个连接imap_append()将消息发送到目标帐户。

你必须手动重新构建消息头,但这应该很简单,看起来你可以这样做:

$newMessage = imap_headers($sourceStream) . "rn" . imap_body($sourceStream)
imap_append($destinationStream, $destinationMailbox, $newMessage);

最新更新