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

    Visualizzazione mail su libero.it spedita con phpmailer

    Salve a tutti,

    sto sbattendo la testa con un problema che credo sia legato a phpmailer; cerco di inviare un semplicissimo messaggio (test) utilizzando phpmailer. Il messaggio arriva e viene interpretato correttamente su webmail virgilio.it, tin.it et similia ma su quella di libero.it non c'è verso.
    Il codice per la spedizione è molto semplice:

    include_once('class.phpmailer.php');

    $mail = new PHPMailer();

    $mail->IsHTML(true);
    $mail->From = "miacasella@xxxxxx.it";
    $mail->FromName = "Nome e Cognome";
    $mail->AddReplyTo('miacasella@xxxxxx.it');
    $mail->Subject = "Prova invio mail";

    $html_body = '<html>
    <body>
    Invio di prova di un messaggio html dal server.
    Fase di test per l\'arrivo del messaggio.
    Vi preghiamo di confermare l\'eventuale ricezione di questo messaggio. Grazie.
    </body>
    </html>
    ';

    $mail->AltBody = '';
    $mail->MsgHTML($html_body);

    $mail->AddAddress("miamail@libero.it");

    if($mail->Send())
    {echo 'mail inviata correttamente';}
    else
    {echo 'Errore: mail non inviata';}

    Il messaggio parte e viene ricevuto regolarmente ma, sorpresa, viene visualizzato in modo non corretto, ovvero proprio come riportato sotto:

    From: Nome e Cognome <miacasella@xxxxxx.it>

    Reply-To: miacasella@xxxxxx.it

    Message-ID: <0ca0bbaefad84037e47eda54d6a6a225@www.xxxxxxx.it>

    X-Priority: 3

    X-Mailer: PHPMailer (phpmailer.sourceforge.net) [version 2.0.3]

    MIME-Version: 1.0

    Content-Type: multipart/alternative;

    boundary="b1_0ca0bbaefad84037e47eda54d6a6a225"



    --b1_0ca0bbaefad84037e47eda54d6a6a225

    Content-Type: text/plain; charset = "iso-8859-1"

    Content-Transfer-Encoding: 8bit



    Invio di prova di un messaggio html dal server.

    Fase di test per l'arrivo del messaggio.

    Vi preghiamo di confermare l'eventuale ricezione di questo messaggio. Grazie.





    --b1_0ca0bbaefad84037e47eda54d6a6a225

    Content-Type: text/html; charset = "iso-8859-1"

    Content-Transfer-Encoding: 8bit



    <html>

    <body>

    Invio di prova di un messaggio html dal server.

    Fase di test per l'arrivo del messaggio.

    Vi preghiamo di confermare l'eventuale ricezione di questo messaggio. Grazie.

    </body>

    </html>









    --b1_0ca0bbaefad84037e47eda54d6a6a225--


    Quindi il codice html non viene interpretato correttamente. Cosa diavolo sto sbagliando. E' necessario settare qualche parametro in PhpMailer che io tralascio?
    Ringrazio anticipatamente tutti.
    Thanks a lot.

  2. #2
    Usa la funzione mail() invece della classe phpmailer, guardati questo articolo:

    http://php.html.it/articoli/leggi/91...-html-con-php/

    Ciao
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  3. #3
    Ciao,

    innanzitutto ti ringrazio per la risposta. Ora, il problema è che PhpMailer l'ho adottato proprio in alternativa alla funzione mail.
    Avevo utilizzato originariamente la funzione mail impostando manualmente gli headers in maniera similare a quanto indicato nell'articolo, ma, mistero, con mail() il messaggio non viene proprio accettato dalle caselle su libero.it.
    Con l'adozione di PhpMailer, almeno, il messaggio riesce ad arivare e non essere taggato come spam o indesiderato ma la sua interpretazione in formato html è stravolta, mostrandomi quela schifezza di cui sopra.
    Sono ragionevolmente sicuro che possa essere un problema di headers solo che cercare la combinazione giusta è come giocare alla lotteria (senza avere neanche la certezza che l'origine del problema sia quella).
    A corredo è necessario dire che il messaggio viene correttamente visualizzato dai client di posta (Thunderbird, Outlook,..) e dal sistema di webmail associato ai domini virgilio (ti.it, virgilio.it, alice.it,..) e gmail.
    Proverò a rileggere l'articolo che mi segnali per vedere di trovare eventuali interpretazioni non corrette nel mio uso della funzione mail.
    Ti ringrazio.
    Ciao :-)

  4. #4

    [RISOLTO] Visualizzazione mail su libero.it spedita con phpmailer

    Salve a tutti,

    dopo lungo sbattere di testa il problema è risolto. Tutta la questione sta nella gestione dei ritorni di linea. Ovvero, PhpMailer nella definizione degli header inserisce ad ogni fine riga "/r/n".
    Questa cosa non piace al sistema webmail di libero.it che non riesce a distinguere più fra termine degli header e corpo della mail.
    Allora, è sufficiente andare a modificare il codice della classe class.phpmailer.php avendo cura di sostituire ai "/n/r" i "/n".
    Ciò fatto, la mail verrà correttamente interpretata.
    Adesso il passo successivo consta nella risoluzione del piccolo ulteriore problema dell'interpretazione dei css associati al codice html... mah speriamo bene..
    Grazie a tutti.
    Spero possa essere d'aiuto questa mia.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.