列出邮箱中的所有文件夹
一旦你连接到你的邮箱,你会想看看里面。第一个有用的命令是 imap_list 。第一个参数是从 imap_open
获取的资源,第二个参数是你的邮箱字符串,第三个参数是模糊搜索字符串(*
用于匹配任何模式)。
$folders = imap_list($mailbox, "{imap.example.com:993/imap/tls/secure}", "*");
if ($folders === false) {
echo "Failed to list folders in mailbox";
} else {
print_r($folders);
}
输出应该与此类似
Array
(
[0] => {imap.example.com:993/imap/tls/secure}INBOX
[1] => {imap.example.com:993/imap/tls/secure}INBOX.Sent
[2] => {imap.example.com:993/imap/tls/secure}INBOX.Drafts
[3] => {imap.example.com:993/imap/tls/secure}INBOX.Junk
[4] => {imap.example.com:993/imap/tls/secure}INBOX.Trash
)
你可以使用第三个参数来过滤这些结果,如下所示:
$folders = imap_list($mailbox, "{imap.example.com:993/imap/tls/secure}", "*.Sent");
现在结果只包含名称中带有 .Sent
的条目:
Array
(
[0] => {imap.example.com:993/imap/tls/secure}INBOX.Sent
)
注意 :使用*
作为模糊搜索将递归返回所有匹配。如果你使用%
,它将仅返回指定的当前文件夹中的匹配项。