я использую PHP IMAP и я хочу удалить все письма в моем ящике, но я не могу найти способ выбрать все папки.
Я могу получить все имена папок, используя imap_listmailbox
:
<?php
$folders = imap_listmailbox($mbox, "{imap.example.org:143}", "*");
?>
Yahoo например: вернуть следующие имена папок: (INBOX, Bulk Mail, Draft …)
И я могу подключиться ко всем этим папкам и удалить mails
внутри цикла, но не в одно и то же время, так как я должен всегда указывать FolderName
как пример ниже:
<?php
$mailBox = imap_open("{imap.example.org:143}FolderName", "username", "password");
//__________________________________________^
$mailsIds = imap_search($mailBox, 'ALL');
foreach($mailsIds as $mailId)
imap_delete($mailBox, $mailId);
imap_expunge($mailBox);
?>
Когда я Пытаться без имени папки, например:
$mailBox = imap_open("{imap.example.org:143}", "username", "password");
Что выбрать папку по умолчанию INBOX
,
Когда я Пытаться с ALL
Например:
$mailBox = imap_open("{imap.example.org:143}ALL", "username", "password");
Это ничего не вернуть.
НОТА : В GMAIL я могу найти, что у них есть папка с именем [Gmail]/Tous les messages
который содержит все письма.
Задача ещё не решена.
Других решений пока нет …