Accedere ad una mailbox con PHP

15/11/2006

Creare un client di posta elettronica in PHP un'operazione abbastanza complessa, il linguaggio per ci mette a disposizione numerose funzioni per la gestione della posta elettronica e delle mailbox.

In questa breve serie di articoli descriveremo quelle pi importanti relative alle operazioni fondamentali, come per esempio l'accesso alle mailbox, la lettura e l'invio dei messaggi, la rimozione delle mail e la gestione degli allegati.

Al centro della nostra trattazione vi saranno le funzioni IMAP (Internet Message Access Protocol o Interactive Mail Access Protocol) di PHP che, fortunatamente, al di l di quello che farebbe pensare il loro nome possono essere utilizzate anche per la gestione di protocolli POP3 e NNTP

Passando subito all'azione, descriveremo la procedura utile per l'accesso ad una mailbox tramite codice PHP, ecco il listato del nostro esempio:

<?php
$username = "tuauser";
$password = "tuapass";
$server = "pop.tuopop.it";
$conn = imap_open("{".$server.":110/pop3}INBOX",$username, $password);
$messagggio = nl2br(imap_fetchbody($conn,1,"","FT_PEEK"));
echo $messagggio;
?>

Lo script apre una connessione al server specificato tramite i parametri necessari all'accesso, dopo di ch legge il contenuto della mailbox. Se la mailbox vuota restituisce un errore di notice.

La funzione imap_open() accetta come parametri il nome del server di posta in entrata a cui vogliamo connetterci; il numero della porta su cui attiva la connessione e i dati per l'autenticazione.
Nel nostro caso, connessione tramite il protocollo POP3, la porta specificata stata la numero 110; nel caso di una connessione IMAP il numero della porta da specificare sar plausibilmente '143' e dovremo omettere l'indicazione '/pop3' che in questo caso sarebbe errata.

imap_fetchbody() una funzione che permette di leggere il contenuto di una mailbox. Ad essa vanno passati come parametri l'apertura della connessione, il numero d'ordine del messaggio che vogliamo leggere e l'argomento FT_PEEK opzione del protocollo.
Nel nostro caso il numero d'ordine espresso stato '1', quindi visualizzeremo il primo messaggio in ordine di arrivo, potremo specificare '2' per il secondo, '3' per il terzo e cos via.

E' da notare come la funzione di lettura ci consenta di visualizzare in modo particolareggiato gli headers del messaggio mostrando a video informazioni importanti come: il mittente, il server utilizzato per l'invio, il nome del computer da cui e stato spedito il messaggio e molto altro.

Attenzione: questo articolo stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne vietata la riproduzione,
anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.

© Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Stampa :: Torna alla Home