Programmazione Web » Php » Inviare email da un form in formato Html utilizzando l'SMTP del server
Inviare email da un form in formato Html utilizzando l'SMTP del server
Difficoltà:
Scritto da Alberto Giuliani
Sito Web: http://www.agwebsolutions.it ![]()
Questo tutorial è stato letto 1384 volte
In questo tutorial realizzeremo un form che invii email in formato HTML. Abbiamo già affrontanto l'argomento dell'invio di e-mail con il PHP in un tutorial precedente, ma solo in formato testuale.
Qui invece tratteremo il codice per l'invio in formato HTML.
Il tutorial quindi si compone di due pagine: modulo.htm, contenente il form per l'inserimento dei dati e send.php, contenente il codice PHP per l'elaborazione e l'invio dei dati.
Ecco il codice di "modulo.htm":
<form method="post" action="send.php" name="modulo">
Nome e cognome:
<input type="text" name="nome" size="30">
Indirizzo e-mail:
<input type="text" name="email" size="30">
Testo del messaggio:
<textarea rows="10" cols="30" name="messaggio">
</textarea>
<input type="submit" value="Invia">
<input type="reset" value="Cancella">
</form>
Quindi il codice di "send.php":
<?PHP
// Processo di recupero dei dati
$nome = $_POST['nome'];
$email = $_POST['email'];
$messaggio = nl2br($_POST['messaggio']);
// Processo di controllo [Opzionale]
if ($nome == null)
{
print "Errore: è necessario compilare il campo 'Nome e cognome'";
}
else
{
if ($email == null)
{
print "Errore: è necessario compilare il campo 'Indirizzo e-mail'";
}
else
{
if ($messaggio == null)
{
print "Errore: è necessario compilare il campo 'Messaggio'";
}
else
{
// Processo di configurazione dell'email
// [Destinatario, mittente, ecc]
$mail_to = "tuamail@tuodominio.it";
$mail_from = $email;
$mail_subject = "Contatto dal web da parte di $nome";
$mail_body = "<p><font color=#000000>$messaggio</font></p>";
// Intestazioni HTML
$mail_in_html = "MIME-Version: 1.0\r\n";
$mail_in_html .= "Content-type: text/html; charset=iso-8859-1\r\n";
$mail_in_html .= "From: <$mail_from>";
// Processo di invio
if (mail($mail_to, $mail_subject, $mail_body, $mail_in_html))
{
print "Email inviata con successo!";
}
else
{
print "Errore";
}
}
}
}
?>
Da notare di questo codice la riga:
$mail_to = "tuamail@tuodominio.it";
in cui dovrete settare l'email del destinatario.
Non di meno è la riga:
$mail_body = "<p><font color=#000000>$messaggio</font></p>";
in cui potete inserire altri tags html per personalizzare il risultato grafico.
NB: Vi consigliamo di tralasciare gli apici nei tags HTML inseriti in questa variabile ($mail_body).
Questa è una struttura base del sistema di invio mail, poichè possiamo personalizzarlo aggiungendo ad esempio gli smilies, oppure potremmo creare un sistema di newsletter, con un ciclo while che ripeta l'invio della mail per ogni indirizzo presente in un database.

