Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    PhpMailer caratteri accentati non riconosciuti in applicazione esterna IE

    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:

    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);
    qui di seguito il messaggio che va spedito ad un' applicazione esterna che ha bisogno di tag particolari:

    codice:
    $messaggio = '<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-15">'
    . '<!--MF@[WEB]--><strong>ORDINE</strong>&nbsp;&nbsp;&nbsp;num. <!--MF$[NUM]-->' . $numero_ordine . '<!--MF&[NUM]-->&nbsp;&nbsp;&nbsp;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 :&nbsp; <br/><hr>'
    . $UserNec . '<br/><br/>';
    Come prove per gli encoding ho testato questi ma ho ottenuto solo caratteri senza accento o caratteri "strani".

    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));
    Come impostazioni di phpmailer ho tentato di modificare questo:
    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';
    provando a mettere come charset=ISO-8859-1 o UTF8 ma senza risultati.


    Non capisco proprio dove sbaglio.
    Grazie in anticipo.

  2. #2
    Questa riga è certamente errata, perchè multipart/alternative NON è un charset...

    $mail->charSet = "multipart/alternative";


    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  3. #3
    In più se nel codice della pagina dici charset charset=ISO-8859-15 NON puoi poi sperare di inviarla con un altro charset!

    In buona sostanza: Siccome le stringhe che usi per comporre la mail vengono da $MF[], devi sapere in che charset sono quelle stringhe e devi usare quello stesso charset per l'html della mail e per tutti i settaggi del PhpMailer che usi per inviare.
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.