Encodage des sujets des emails

Lorsqu’on envoi un email via nos applications “maison”, il arrive incroyablement souvent que l’encodage du sujet soit laissé de coté. CodeIgniter n’échappe pas à la règle.
Des antispam comme spamassassin pénalisent fortement ce genre de courrier.

La RFC 2047 indique comment doit être encodé un sujet d’email. C’est assez simple, ça utilise le même encodage que les url – en php la fonction urlencode() peut donc être utilisée – à l’exception des caractères = qui remplacent les caractères % habituels et des espaces qui n’ont pas à être remplacés par des +

Spamassassin pénalise également les emails qui contiennent plusieurs fois l’indication de l’encodage, bien que la rfc l’autorise. Nous allons donc indiquer une bonne fois pour toute en début et ne plus le mentionner. Donc le sujet doit commencer par =?UTF-8?Q?

Une fonction PHP qui fait tout cela est mb_encode_mimeheader() :

Et voila, nos emails seront beaucoup mieux notés par les messageries qui utilisent Spamassassin comme antispam et nous aurons la satisfaction de respecter les normes internet.

2 thoughts on “Encodage des sujets des emails”

Leave a Reply

Your email address will not be published. Required fields are marked *