Magazine Informatica

Inviare le e-mail con PHP

Creato il 03 marzo 2013 da Ketek @CarloVentrella

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');
}


Ritornare alla prima pagina di Logo Paperblog