- Home
- Categorie
- Coding e Sistemistica
- PHP
- Classe phpmailer - recupero dati html
-
Classe phpmailer - recupero dati html
Ciao, sto usando la classe phpmailer con questo codice:
[php]<?php
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->From = $_POST['mittente'];
$mail->FromName = $_POST['azienda'];
$mail->AddAddress("[email protected]");
$mail->WordWrap = 50;
$mail->IsHTML(Body);
$mail->Subject = $_POST['oggetto'];
$mail->Body = $_POST['messaggio'];
$mail->AddAttachment($_FILES['allegato']['tmp_name'],$_FILES['allegato']['name']);
if(!$mail->Send())
{
echo "errore invio";
echo "Errore Mail: " . $mail->ErrorInfo;
exit;
}
else
{
echo "mail inviata";
}
?>[/php]
Però sia l'oggetto che il messaggio mi arrivano in formato testo, non in html...
dove sbaglio?I dati li recupero con: [html]enctype="multipart/form-data"[/html]
-
Forse il problema non è quello che pensavo...
Se nel codice php metto:$mail->Body='<strong>Gentile</strong>'.$_POST['messaggio'];
invece di:
$mail->Body = $_POST['messaggio'];La parola gentile nell'email mi arriva in grassetto... se però nel messaggio (che recupero dal form) ci sono dei caratteri tipo: è,à,ò ...Questi nell'email mi arrivano con caratteri strani!
Se nel messaggio del form scrivo:"È" nell'email arriva: "è" quindi il recupero in html sembra funzionare!
C'è qualche modo per ricevere (nell'email) i caratteri speciali (inseriti nel form) cosi come sono stati scritti?
-
Ciao Angel0,
prova utilizzando la funzione htmlentities sui dati di input.
-
Ciao Thedarkita, grazie per info ma se scrivo:
$mail->Body = HtmlEntities($_POST ['messaggio']);
e poi nel messaggio del form (pagina html) scrivo: "È" o "è" non me li elabora nessuno dei due... nell'email ricevo: "È" "Ã".
Se invece faccio stampare sullo schermo quello che inserisco nel form: "È" o "è" ottengo: "è" "è".
Forse bisogna impostare qualcosa nella classe phpmailer?
-
Non conosco la classe, in quanto non l'ho mai usata, per cui non sò dirti....
-
Hai un altra classe con recupero di allegati da consigliarmi?