Inviare mail con PEAR in UTF-8

Non so quante persone usino le classi PEAR per mandare email da codice PHP rispetto a quelle che usano phpmailer, ma io sono una di quelle.

🙂

Dato che come encoding dei caratteri uso esclusivamente utf-8, mi sono trovato nella necessità di spulciare il codice PEAR per vedere come impostare di default il mio encoding preferito. I parametri da impostare sono all’interno del file PEAR/Mail/mime.php, all’altezza della riga 116. Ho modificato l’array che si trova lì nel modo seguente:

$this->_build_params = array(
'text_encoding' => '8bit',
'html_encoding' => 'quoted-printable',
'7bit_wrap' => 998,
'html_charset' => 'UTF-8',
'text_charset' => 'UTF-8',
'head_charset' => 'ISO-8859-1'
);

5 thoughts on “Inviare mail con PEAR in UTF-8

  • Grande! Anch’io a bazzecchiare su linux uso sempre UTF-8 e devo dire che il tuo post mi è stato di grande aiuto!

  • Mi fa piacere 🙂

  • Ok, sono passati “4 anni 3 mesi 24 giorni” dalla pubblicazione di questo articolo, ma a me è stato comunque utile. Consiglierei comunque di non modificare il codice di mime.php, ma di passare un array con i giusti parametri al costruttore di Mail_mime. Es.:

    $mime_params = array(
    ‘text_encoding’ => ‘7bit’,
    ‘text_charset’ => ‘UTF-8’,
    ‘html_charset’ => ‘UTF-8’,
    ‘head_charset’ => ‘UTF-8’
    );

    $mime = new Mail_mime($mime_params);

    Grazie per l’articolo 🙂

  • In effetti andare a modificare una classe soggetta pure ad aggiornamenti è da disgraziati, ma appunto 4 anni fa non andavo troppo per il sottile 😉

  • Mi correggo: l’array $mime_params va passato alla funzione $mime->get()
    es.: $body = $mime->get($mime_params);

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

%d blogger hanno fatto clic su Mi Piace per questo: