我正在编写一个脚本,它将在同一服务器上的不同帐户中获取所有新电子邮件,检查关键字,然后根据找到的关键字将每封电子邮件移动到该帐户中的不同帐户和文件夹。我一直在寻找一种简单的方法来将电子邮件从一个帐户移动到另一个帐户,然后再移动到该帐户中的文件夹。似乎没有一个简单的 imap_forward() 函数。imap_mail_move() 仅适用于同一帐户。我已经在互联网上搜索了几个小时来寻找一种方法来做到这一点,而不必像发送新电子邮件一样遍历附件并获取电子邮件的每个部分,然后再将其发送到目标地址。我需要确保在此过程中不会丢失任何信息,并且电子邮件到达目的地的方式与最初收到的完全相同。
问问题
482 次
1 回答
0
如果您还具有对目标邮箱的 IMAP 访问权限,则可以同时打开两个 IMAP 连接。使用一个连接从源帐户读取消息,另一个连接到imap_append()
目标帐户。
您必须手动重新构建消息标头,但这应该很简单,看起来您可以这样做:
$newMessage = imap_headers($sourceStream) . "\r\n" . imap_body($sourceStream)
imap_append($destinationStream, $destinationMailbox, $newMessage);
于 2019-11-05T19:11:52.357 回答