Homepage -> Guida PHP



SPEDIRE UNA EMAIL IN PHP



La funzione php usata per inviare delle email è mail() e di seguito è mostrato il suo codice di utilizzo:


mail ( $to, $oggetto, $messaggio [, $header_addizionali [, $parametri_addizionali]]);


dove gli ultimi due parametri sono opzionali. mail() invia automaticamente il messaggio specificato in $messaggio al destinatario specificato in $to. Destinatari multipli possono essere specificati mettendo una virgola tra ogni indirizzo in $to. Email con allegati e tipi speciali di contenuto possono essere spedite usando questa funzione. Questo è possibile tramite la codifica MIME. Per maggiori informazioni, fare riferimento a un articolo Zend. Restituisce TRUE se la mail è stata accettata per la spedizione con successo, altrimenti restituisce FALSE.

Un esempio di semplice invio di email di solo testo è la seguente:


mail("nessuno@example.com", "Ciao!!", "Ciao, sono Andrea... Come è andato lo esame?", "From:webmaster@$SERVER_NAME\r\n". "X-Mailer: PHP/" . phpversion());


Negli header, sono specificati l'email del mittente e la versione del php, separati da \r\n , che devono essere sempre presenti.


Vediamo ora il codice necessario per inviare un'email contenente del codice html ed immagini:


<?
/* destinatari */
$destinatari = "maria@example.com".", " ; // notare la virgola e spazio seguente
$destinatari .= "enrica@example.com";

/* oggetto */
$oggetto = "Promemoria compleanni di Agosto";

/* messaggio */
$messaggio = "
<html>
<head>
<title>Promemoria compleanni di Agosto</title>
<LINK HREF='http://www.webstyling.it/img/stile2.css' type='text/css' rel='stylesheet'>
</head>
<body>
<CENTER>
<p>Questi sono i compleanni di Agosto!</p>
<TABLE width=50% cellpadding=0 cellspacing=0>
<TR>
     <TD><table class=tableborder width=100% height=100% cellpadding=0 cellspacing=0>
          <tr height=35>
               <th>Persona</th>
               <th>Giorno</th>
               <th>Mese</th>
               <th>Anno</th>
          </tr>
          <tr height=40>
               <td align=middle class=row1><span class=gen><B>Walter</B></span></td>
               <td class=gen align=middle>11</td>
               <td class=gen align=middle><I>Agosto</I></td>
               <td class=gen align=middle>1946</td>
          </tr>
          <tr height=40>
               <td align=middle class=row1><span class=gen><B>Sara</B></span></td>
               <td class=gen align=middle>14</td>
               <td class=gen align=middle><I>Agosto</I></td>
               <td class=gen align=middle>1985</td>
          </tr>
          </table>
          <BR><CENTER>
          <A HREF='http://www.webstyling.it'><IMG SRC='http://www.webstyling.it/img/banner3.gif' BORDER=0></A>
          </CENTER>
     </TD>
</TR>
</TABLE><BR><BR>
</CENTER>
</body>
</html>
";

/* Per inviare email in formato HTML, si deve impostare l'intestazione Content-type. */
$intestazioni = "MIME-Version: 1.0\r\n";
$intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* intestazioni addizionali */
$intestazioni .= "From: Promemoria Compleanni <compleanni@example.com>\r\n";

$intestazioni .= "Cc: archiviocompleanni@example.com\r\n";
$intestazioni .= "Bcc: controllocompleanni@example.com\r\n";

/* ed infine l'invio */
mail($destinatari, $oggetto, $messaggio, $intestazioni);

echo("Email spedita con successo !!");
?>


Per testare l'applicazione, provate ad inserire il vostro indirizzo email qui.