Per spedire le e-mail con PHP tutto quello che ci serve è la funzione mail(), che accetta i seguenti parametri:
- L’email del destinatario;
- L’oggetto dell’e-mail;
- Il messaggio;
- Gli headers;
Quest’ultimo parametro è opzionale, si usa nel caso in cui volessimo mandare il messaggio sotto forma di codice HTML, che ci permette di inserire immagini, di formattare il testo a nostro piacimento ecc.
Detto questo vediamo come realizzare una pagina (email.php) che riceva come unico parametro l’email del destinatario al quale manderemo il messaggio:
Innanzitutto controlliamo che il parametro passato sia effettivamente un’email:
$email_a = strip_tags($_GET['email']); if (!eregi("^[a-z0-9][_.a-z0-9-]+@([a-z0-9][0-9a-z-]+.)+([a-z]{2,4})", $email_a)) { die('Indirizzo email non valido.'); }
A questo punto settiamo le variabili necessarie: e-mail del mittente, oggetto, headers e messaggio:
$email_da = 'Nome mittente <mittente@blabla>'; $oggetto = "Oggetto dell' email"; $headers = "From: " . $email_da . "rn"; $headers .= "Reply-To: ". $email_da . "rn"; $headers .= "MIME-Version: 1.0rn"; $headers .= "Content-Type: text/html; charset=ISO-8859-1rn"; $messaggio = " <html> <body> <h1 style="color:gray;">Titolo E-mail</h1> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi ac elit condimentum augue sagittis suscipit sit amet ac ligula. Nullam tincidunt sapien ut felis accumsan sagittis. </p> <a href="URL">Continua...</a> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi ac elit condimentum augue sagittis suscipit sit amet ac ligula. Nullam tincidunt sapien ut felis accumsan sagittis. </p> </body> </html> ";
E finalmente siamo pronti per spedire l’e-mail:
if ( mail($email_a, $oggetto, $messaggio, $headers) ) { echo 'Email inviata con successo.'; } else { die('Errore. Non è stato possibile spedire la mail'); }