PHP Liste tous les dossiers de la boîte aux lettres


Exemple

Une fois connecté à votre boîte aux lettres, vous voudrez jeter un coup d’œil à l’intérieur. La première commande utile est imap_list . Le premier paramètre est la ressource que vous avez acquise à partir de imap_open , la seconde est votre chaîne de boîte aux lettres et la troisième est une chaîne de recherche floue ( * est utilisé pour correspondre à n'importe quel modèle).

$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);
}

La sortie devrait ressembler à ceci

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
)

Vous pouvez utiliser le troisième paramètre pour filtrer ces résultats comme suit:

$folders = imap_list($mailbox, "{imap.example.com:993/imap/tls/secure}", "*.Sent");

Et maintenant, le résultat ne contient que des entrées avec .Sent dans le nom:

Array
(
    [0] => {imap.example.com:993/imap/tls/secure}INBOX.Sent
)

Remarque : L'utilisation de * comme recherche floue renverra toutes les correspondances de manière récursive. Si vous utilisez % il ne renverra que les correspondances dans le dossier actuel spécifié.