Buongiorno,
ho un problema con la mia pagina php che spedisce mail usando PhpMailer in quanto tutto quello che inserisco con lettere accentate quando viene spedito all' applicativo esterno ,che utilizza Internet Explorer essendo di vecchia data , viene scaricato con i caratteri non accentati; immagino sia un problema di codifica e per questo ho provato a fare un po' di prove che vi metto qui di seguito:
qui di seguito il messaggio che va spedito ad un' applicazione esterna che ha bisogno di tag particolari:codice:$today = date("F j, Y, g:i a"); require'PHPMailer/PHPMailerAutoload.php'; $mail = new PHPMailer(true); $mail->IsSMTP(); // telling the class to use SMTP $mail->SMTPDebug = 0; $mail->SMTPAuth = true; $mail->Host = "####"; $mail->Username = "####"; $mail->Password = "####"; $mail->SMTPSecure = 'ssl'; $mail->Port = ####; $mail->From = "####"; $mail->FromName = ''; $mail->charSet = "multipart/alternative"; $mail->AddAddress("####"); $mail->Subject = utf8_decode($oggetto); $mail->Body = utf8_decode($messaggio);
Come prove per gli encoding ho testato questi ma ho ottenuto solo caratteri senza accento o caratteri "strani".codice:$messaggio = '<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-15">' . '<!--MF@[WEB]--><strong>ORDINE</strong> num. <!--MF$[NUM]-->' . $numero_ordine . '<!--MF&[NUM]--> del <!--MF$[DAT]-->' . $data . '<!--MF&[DAT]--><br/>' . '<hr/><br/>' . 'Azienda: <!--MF$[SOC]-->' . $UserSoc . '<!--MF&[SOC]--> ' . $strSocCts . '<br />' . $strSdi . $strInd . '<br/>' . $strPiv . '<br/>' . $strCRS . '<br/>' . $strTel . '<br />' . $strEma . '<br />' . '<br />' . 'Dati recapito:<br />' . '<hr/>' . $strRecSoc . '<br/>' . $strRecInd . $strRecTel . $strRecEma . '<br /><br />' . $prodott . '<hr/>' . 'Subtotale materiale: ' . fix($total) . ' euro + Trasporto: ' . $trasporto . ' euro <br />' . $ivatotale . $sconto . $pagamento . 'Vettore: ' . $vettore . '<br />' . '<hr>' . $totaletotale . $annotazioni . 'Note : <br/><hr>' . $UserNec . '<br/><br/>';
Come impostazioni di phpmailer ho tentato di modificare questo:codice:$messaggio=" £ $ % & = ? ^ ° ç à è ì ò ù é"; $messaggio1=utf8_decode($messaggio); $messaggio2=base64_decode($messaggio); $messaggio3=html_entity_decode($messaggio); $messaggio4=htmlspecialchars_decode($messaggio); $messaggio5=mb_decode_mimeheader($messaggio); $messaggio7=ucwords(filter_var($messaggio, FILTER_SANITIZE_STRING));
provando a mettere come charset=ISO-8859-1 o UTF8 ma senza risultati.codice:/** * The character set of the message. * @type string */ public $CharSet = 'UTF-8'; /** * The MIME Content-type of the message. * @type string */ public $ContentType = 'text/plain';
Non capisco proprio dove sbaglio.
Grazie in anticipo.

Rispondi quotando
