在关闭连接之前,不应该调用 imap_expunge。imap_delete 将消息标记为已删除,imap_expunge 删除所有已标记的消息。例如:
for ($i = 0; $i < $num; $i++) {
imap_delete($box, $i);
}
imap_expunge($box);
imap_expunge 不应该在你的内部循环中。
(PHP 4, PHP 5, PHP 7, PHP 8)
imap_expunge — 删除所有标记为已删除的消息
删除所有由 imap_delete()、imap_mail_move() 或 imap_setflag_full() 标记为已删除的消息。
始终返回 true
。
版本 | 描述 |
---|---|
8.1.0 | imap 参数现在期望一个 IMAP\Connection 实例;以前,期望一个有效的 imap 资源。 |
在关闭连接之前,不应该调用 imap_expunge。imap_delete 将消息标记为已删除,imap_expunge 删除所有已标记的消息。例如:
for ($i = 0; $i < $num; $i++) {
imap_delete($box, $i);
}
imap_expunge($box);
imap_expunge 不应该在你的内部循环中。
imap_expunge() 可能会更改使用 imap_sort() 加载的消息的顺序。
这意味着,如果你对 imap_sort() 函数的结果使用 foreach(),并且每次传递都移动/删除一条消息并立即将其清除,那么在下一次循环中,消息将具有与 imap_sort() 返回的不同编号,并且脚本将失败。