列出郵箱中的所有資料夾

一旦你連線到你的郵箱,你會想看看裡面。第一個有用的命令是 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
)

注意 :使用*作為模糊搜尋將遞迴返回所有匹配。如果你使用%,它將僅返回指定的當前資料夾中的匹配項。