E-mail in formato HTML con PHP

20 marzo 2006

Introduzione

In questo articolo vedremo come sfruttare PHP per inviare e-mail in formato HTML. So già che qualcuno obbietterà che non è necessario utilizzare l’HTML nella comunicazione via posta elettronica, che il puro testo è sufficiente oltre che più “leggero” e più sicuro. Questo va bene per noi programmatori, ma il resto del modo apprezza messaggi colorati, magari composti da qualche immagine o suono. Allora utilizziamo al meglio gli strumenti messi a disposizione da PHP per confezionare messaggi vivaci e ben formattati.

Partiamo dal presupposto che il file php.ini sia correttamente configurato nella sezione [mail function] per l’invio di messaggi di posta elettronica. Per maggiori dettagli si rimanda all’articolo La La funzione mail() o alla documentazione ufficiale.

Lo strumento principale che utilizzeremo sarà la funzione mail(). Tale funzione prevede cinque argomenti tre dei quali obbligatori: l’indirizzo o gli indirizzi dei destinatari (basterà separarli con la virgola), l’oggetto del messaggio, il testo del messaggio.

<?php
mail(“destinatario@dominio.it”,”oggetto del messaggio”,”testo del messaggio”);
?>

Dei due argomenti facoltativi prenderemo in considerazione solo il primo, cioè quello che ci permette di specificare le intestazioni o headers del messaggio.

Facciamo un po’ di chiarezza in proposito: ogni e-mail è sostanzialmente costituita da due sezioni, le cosiddette intestazioni ed il corpo vero e proprio del messaggio. Tali sezioni per essere distinguibili sono separate da una linea vuota. Ogni intestazione è caratterizzata da un nome seguito da un valore. Ecco un esempio di alcune possibili intestazioni:

To: Ricevente <ricevente@dominio.it>
From: Inviante <inviante@dominio.org>
CC: Altro Ricevente <altroricevente@dominio.net>
Bcc: Ricevente Nascosto <nascosto@dominio.com>
X-Mailer: Il nostro Php

Alcune intestazioni sono standardizzate (To, From, CC, Bcc, ecc.) altre invece non lo sono ed iniziano per X-, come X-Mailer, che ci permette di indicare il programma utilizzato per l’invio del messaggio. Quando inviamo un’e-mail con il nostro programma di posta elettronica preferito questi si occupa di generare le corrette intestazioni. Altre intestazioni corrispondono ai mail server coinvolti nella comunicazione. Il codice seguente esemplifica, invece, come ottenere con PHP un messaggio con le intestazioni sopra descritte:

<?php
$header = “To: Ricevente <ricevente@dominio.it>\n”;
$header .= “From: Inviante <inviante@dominio.org>\n”;
$header .= “CC: Altro Ricevente <altroricevente@dominio.net>\n”;
$header .= “Bcc: Ricevente Nascosto <nascosto@dominio.net>\n”;
$header .= “X-Mailer: Il nostro Php\n\n”;
$oggetto = “oggetto del messaggio”;
$messaggio = “testo del messaggio vero e proprio”;
mail(“ricevente@dominio.it”,$oggetto,$messaggio,$header);
?>

Se vuoi aggiornamenti su E-mail in formato HTML con PHP inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su E-mail in formato HTML con PHP

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