我正在使用PHP IMAP,我想删除我邮箱中的所有邮件,但我找不到选择所有文件夹的方法。
我可以使用以下方法检索所有文件夹名称imap_listmailbox
:
<?php
$folders = imap_listmailbox($mbox, "{imap.example.org:143}", "*");
?>
例如雅虎:返回以下文件夹名称:(收件箱、批量邮件、草稿...)
而且我可以连接到所有这些文件夹并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
,其中包含所有邮件。