IMAP e Php: accedere a Gmail

1 luglio 2011

Visualizzazione delle cartelle

imap_list() è il nome di una funzione PHP che permette di leggere la lista delle mailbox di un determinato account con cui è stata stabilita una connessione, essa potrà essere utilizzata nel modo seguente:

$mailbox = imap_list($connessione, $server, '*'); 

A questo punto sarà disponibile un array contenente tutti i nomi delle cartelle associate ad un account, basterà quindi un semplice ciclo foreach per stampare a video il contenuto del vettore:

// visualizzare la lista delle mailbox
foreach ($mailbox as $val) {
	echo $val . "<br>n";
}

Si noterà che ogni nome in elenco verrà preceduto dall’informazione relativa al server IMAP, ad esempio: {imap.gmail.com:993/ssl/novalidate-cert}[Gmail]/Posta inviata

Per la pulizia dell’elenco da questa informazione basterà una semplice istruzione per il “cerca e sostituisci” basata sulla funzione str_replace():

foreach($mailbox as $nome) {
    $nome_abbreviato = str_replace($server, '', $nome);
    echo $nome_abbreviato . "<br>n";;
}

che permetterà di ottenere una lista sul modello della seguente:

Conferme di recapito
INBOX
Lavoro
Personale
Viaggio
[Gmail]/Bozze
[Gmail]/Cestino
[Gmail]/Posta inviata
[Gmail]/Spam
[Gmail]/Speciali
[Gmail]/Tutti i messaggi

Ottenuti i nomi delle cartelle, questi potranno essere utilizzati per operazioni di accesso diretto ad esse utilizzando la funzione imap_reopen() che ha appunto il compito di “riaprire” lo stream verso una specifica mailbox:

imap_reopen($connessione, $server . '[Gmail]/Spam'); 

imap_reopen() accetta come argomenti lo stream aperto tramite imap_open(), l’informazione relativa al server IMAP da contattare e il nome della cartella con il cui contenuto si desidera interagire.

Se vuoi aggiornamenti su IMAP e Php: accedere a Gmail inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su IMAP e Php: accedere a Gmail

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy