Inviare email in formato HTML con PHPMailer

20/06/2006

Per inviare email in formato HTML tramite la classe PHPMailer, dovremo fare poche modifiche rispetto al codice utilizzato per il messaggio in semplice formato testo, basterÓ indicare nel corpo del messaggio i tag HTML che vogliamo formattino il nostro testo:

<?
require "phpmailer/class.phpmailer.php";
$messaggio = new PHPmailer();
$messaggio->IsSMTP();

//settiamo su true il metodo che indica alla classe 
//il formato HTML
$messaggio->IsHTML(true);
$messaggio->Host='Host SMTP';

//intestazioni e corpo dell'email
$messaggio->From='info@mittente.it';
$messaggio->AddAddress('info@destinatario.it');
$messaggio->AddReplyTo('info@mittente.it'); 
$messaggio->Subject='Prova formato HTML';

//inseriamo i tag HTML e i CSS per formattare il messaggio
$messaggio->Body = '<html><body><head><style>';
$messaggio->Body .= '.up{background-color:#FF0000;color:#000000;font-size:12px}';
$messaggio->Body .= '.down{color:#FF0000;text-align:left;font-size:15px}';
$messaggio->Body .= '</style></head>';
$messaggio->Body .= '<center><table><tr><td class="up">Ciao!!</td></tr>';
$messaggio->Body .= '<tr><td class="down">ciao!!!</td></tr></table></center>';
$messaggio->Body .= '</body></html>';

//parte relativa all'invio
if(!$messaggio->Send()){ 
  echo $messaggio->ErrorInfo; 
}else{ 
  echo 'Email inviata correttamente!';
}
$messaggio->SmtpClose();
unset($messaggio);
?>

Anche in questo caso, valgono le avvertenze fatte per l'uso del metodo mail in alternativa ad SMTP; da notare come la classe rilevi il formato dell'email sulla base della chiamata del metodo IsHTML() a cui abbiamo passato l'argomento TRUE.

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.

© Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Stampa :: Torna alla Home