Per inviare una email con tag di formattazione HTML da uno script PHP l’importante è aggiungere l’header alla email che verrà spedita; in questo modo al destinatario arriverà un’email formattata in maniera gradevole tramite l’uso di codice html, invece di un’email in puro testo.
L’esempio seguente presuppone la precedente raccolta di 4 variabili tramite un form – nome, cognome, email, messaggio – ma questo è ininfluente ai fini della questione.
// Intestazioni HTML
$mail_in_html = "MIME-Version: 1.0\n";
$mail_in_html .= "Content-type: text/html; charset=UTF-8\n";
$mail_in_html .= "Content-Transfer-Encoding: 7bit\n";
$mail_in_html .= "From: $nome <$email>\n\n";
//
// corpo del messaggio
$body = "<b>Nome:</b> $nome<br>
<b>Cognome:</b> $cognome<br>
<b>Email:</b> $email<br><br>
<b>Messaggio:</b><br>$messaggio<br>";
//
// invio
$send_contact=mail("email@xyz.com", "Oggetto del messaggio", $body, $mail_in_html);
Grazie per la dritta…
Ciao
si ciao grazie per la dritta ma dove lo devo mettere questo script.
Lo script va messo nel tuo file PHP che userai per spedire il messaggio!
Guarda il mio problema E’ questo:
devo inviare mail ad un indirizzo ben preciso da un form tipo:
nome...................... Cognome..................
Indirizzo.................. email......................
computer usato................ Cellulare...................
Telefono........................ fax.................
etc. in modo che in outlook arrivi una mail formattato come il form di invio:
nome...................... Cognome..................
Indirizzo.................. email......................
computer usato................ Cellulare...................
Telefono........................ fax.................
e che i campi non compilano non vengano inviati.
Sarà anche semplice pero’……….
Grazie per la risposta.
Marco
Quello che tu chiedi è basilare programmazione PHP e HTML…
Prova a vedere qua
ciao ho cambiato il charset da iso a utf-8 ma nulla i caratteri speciali continuan o ad arrivare.
Ciao darkhouse,
potresti spiegare meglio cosa vorresti fare, cos’hai già fatto e qual’è il tuo problema? …magari usa anche un po’ di punteggiatura, che aiuta molto chi sta leggendo 😉
be come ho detto prima ho cambiato nell’hedaer il charset da iso a utf-8 ma nulla i caratteri speciali come “è, ò, à etc…” li visuallizza sempre con caratteri strani tipo A.. ed altri.
Cosa sto facendo un banale campo testo che invia l’email tipo questo:
pagina form:
pagina php:
$email=trim($_REQUEST(“email”));
$text=trim($_REQUEST(“testo”));
$sendmail=”MIME-Version: 1.0\r\n”;
$sendmail.=”Content-type: text/html; charset=utf-8\r\n”;
$sendmail.=”from: email@email.it“;
mail($email,”Contatto”,$text,$sendmail);
niente di così compliacto ma ti ripeto che nelle email i carateri speciali li fa vedere con caratteri tipo quelli che converte mysql.
Per risolvere la situazione ho dovuto fare una funzione con dei replace.
Di solito è proprio un problema tipico di quando i caratteri vengono inviati da una pagina con codifica iso-8859-1 e questi caratteri vengono visualizzati in pagina con codifica UTF-8 o viceversa.
Poi…
fonte: http://blog.merlinox.com/utf-8-e-caratteri-sbagliati/
a ecco grazie quindi devo parlare con coloro che mi danno il servizio??