我正在使用PHP类IMAP而函数imap_mail_move有一些概念问题(我认为这不是特定于PHP的),在考虑时可用的邮箱配额。问题是此函数将一条消息移动到另一个文件夹,用删除标记标记原始消息,如果要删除它,则调用imap_expunge。好的,我们假设我有一个配额(可用存储空间)为15MB的邮件帐户。我收到一条12MB的消息。当我尝试将imap_mail_move这条消息移到另一个文件夹时,我的配额限制超出了,因为该功能试图将消息复制到目标文件夹,超出可用限制。有没有办法解决这个问题?我试图使用函数imap_mail_copy,但看起来这个函数在另一个文件夹中创建原始消息的“镜像”,而不是实际移动它。使用imap_mail_copy函数时,选项为: CP_MOVE (复制后删除当前文件夹的消息),它给出了与imap_mail_move完全相同的错误......
到目前为止,我有这个代码(不确定这是否重要):
foreach($messagesUID as $messageUID)
{
moveMessageToTrash($imapCon, $messageUID);
}
function moveMessageToTrash($imapCon, $UID)
{
imap_mail_move($imapCon, $UID, "TRASH", CP_UID);
imap_expunge($imapCon);
}