Php imap\u邮件\u移动并附加到主题

Php imap\u邮件\u移动并附加到主题,php,imap,Php,Imap,我正在尝试接收outlook收件箱中收到的电子邮件,并有条件地将其从当前所在的文件夹移动到其他文件夹。目前,代码如下: $imap = imap_open($mailserver, $mailusr, $mailpass) or die("Connection Error"); $message_count = imap_num_msg($imap); for ($m = 1; $m <= $message_count; ++$m){ .... if(!$merr &&

我正在尝试接收outlook收件箱中收到的电子邮件,并有条件地将其从当前所在的文件夹移动到其他文件夹。目前,代码如下:

$imap = imap_open($mailserver, $mailusr, $mailpass) or die("Connection Error");
$message_count = imap_num_msg($imap);
for ($m = 1; $m <= $message_count; ++$m){
....
 if(!$merr && $hasusable>0){  
       imap_mail_move($imap, $m, 'INBOX/Processor/inProcess'); }
 else{ imap_mail_move($imap, $m, 'INBOX/Processor/Failed'); }
有什么想法吗


我很确定这可以通过imap_append实现,但我不清楚如何实现,而且它似乎会删除并重新创建初始电子邮件,这可能会破坏$m迭代次数

对邮件的任何更改都要求它是新邮件,这意味着您必须下载、更改并将其附加到新文件夹中,然后将其标记为从源文件夹中删除。如果不立即“删除”,消息ID不会移动。这不太理想,但我已经下载了消息($header=imap_header($imap,$m);$structure=imap_fetchstructure($imap,$m);在数组中:$attachments[$i]['attachment']=imap_fetchbody($imap,$m,$i+1)),所以我想这没什么大不了的。有没有一种简单的方法可以复制所有内容并更改主题?它是否需要(轻松地)让用户看到?您可以使用IMAP标志,这不需要重新上载邮件。实际的主题行必须更改,因为它稍后会在inProcess文件夹中用其他脚本搜索。脚本可以检查标志,而不是检查主题。这样会更有效率。我对PHP邮件处理库的了解还不够,不知道检查这个主题有多容易;我试图在协议库中提供。
 if(!$merr && $hasusable>0){  
       if($isexplicit){
             [code to append XXXXX to subject line]
       }
       imap_mail_move($imap, $m, 'INBOX/Processor/inProcess'); 
 }
 else{ imap_mail_move($imap, $m, 'INBOX/Processor/Failed'); }