Почему imap_delete + imap_expunge удаляют не все письма?
$imap_host = "{imap.mail.ru/imap:143}";
$mbox = imap_open($imap_host.'INBOX', $email, $pass);
$check = imap_status($mbox, $imap_host.'INBOX', SA_MESSAGES);
$i = 1;
while($i <= $check->messages) {
imap_delete($mbox, $i);
$i++;
}
imap_expunge($mbox);
imap_close ($mbox, CL_EXPUNGE);
Удаляется чуть больше половины писем, т.е. в ящике 400шт., после удаления остается около 180шт., после еще одного запуска 80шт. и т.д.
Полного удаления удается добиться только если обернуть код в еще один цикл с чтением кол-ва оставшихся писем и прогоном следующего удаления.
Почему с первого раза удаляются не все письма?