[PHP] Inviare email utilizzando PHP

Rispondi
Roberto
Amministratore
Messaggi: 160
Iscritto il: 19/12/2009, 19:30

[PHP] Inviare email utilizzando PHP

Messaggio da Roberto »

Inserire in un sito internet un FORM che permetta di inviare dati via email, come per esempio in un Contact Form, e' molto importante. La funzione che permette di far cio' e':

Codice: Seleziona tutto

bool mail ( string $a , string $oggetto , string $messaggio [, string $header_addizionali [, string $parametri_addizionali ]] )
l'esempio pratico e':

Codice: Seleziona tutto

<?php
mail("pippo@esempio.com", "Oggetto", "Linea 1\nLinea 2\nLinea 3");
?>
come e' possibile notare dall'esempio il corpo del messaggio puo' essere scomposto su piu' linee tramite l'operatore \n.

Per inviare email in formato HTML, si deve impostare l'intestazione Content-type:

Codice: Seleziona tutto

$intestazione  = "MIME-Version: 1.0\r\n";
$intestazione .= "Content-type: text/html; charset=iso-8859-1\r\n";

mail($destinatario, $oggetto, $messaggio, $intestazione);
Un'intestazione completa e pulita dal punto di vista del codice e' la seguente e fa uso di un array:

Codice: Seleziona tutto

<?php
$intestazione = array();
$intestazione[] = "MIME-Version: 1.0";
$intestazione[] = "Content-type: text/plain; charset=iso-8859-1";
$intestazione[] = "From: Sender Name <sender@domain.com>";
$intestazione[] = "Bcc: JJ Chong <bcc@domain2.com>";
$intestazione[] = "Reply-To: Recipient Name <receiver@domain3.com>";
$intestazione[] = "Subject: {$subject}";
$intestazione[] = "X-Mailer: PHP/".phpversion();

mail($to, $subject, $email, implode("\r\n", $intestazione));
?> 
Rispondi