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'
);
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);