我正在使用 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
的文件夹,其中包含所有邮件。