J'ai rencontré pas mal de problème lors de l'envoi d'emails HTML avec CodeIgniter. Le problème est que Code Igniter rend compatible les emails avec la norme RFC 2045.

mais cette norme ne semble pas bien interpretée par un grand nombre de client de messagerie.

J'ai donc décidé de revenir à des mails plus basique.

Pour cela, il faudra modifier la class Email de base de Code Igniter, ou mieux, surcharger la classe par une classe Perso.

Dans la fonction _build_message(), il suffit de commenter (ou supprimer) les lignes

$hdr .= "Content-Transfer-Encoding: quoted-printable";

Cette ligne apparait plusieurs fois, selon que l'email soit en html, ou html-attach (si des pièces jointes sont attachées). Le fait de commenter cette ligne signifie que l'email n'est plus en encodage quoted-printable. Ensuite, il faudra commenter les lignes :

$this->_body = $this->_prep_quoted_printable($this->_body);

En faisant cela, on ne passe plus par la fonction qui encode le contenu du message en quoted-printable

Maintenant, les mails passent correctement !