@eisbrenner at gidn dot de
您不应该在关闭连接之前调用 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 资源。 |
@eisbrenner at gidn dot de
您不应该在关闭连接之前调用 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() 返回的不同的编号,并且脚本将失败。