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.