Diacritice în email

Scriu acest articol pentru programatorii care scriu o aplicatie care trebuie să trimită mesaje email cu diacritice ( ăâşţî ). Dacă nu esti programator dar ai vrea să trimiţi un newsletter cu diacritice ai putea să încerci serviciul de email marketing WomSend.ro

Diacritice în antet

Pentru diacritice în antet ( From:, Subject, etc ) datele trebuie codificate într-un format cum ar fi base64 sau quoted-printable (recomandat ) astfel:

=?CHARSET?Q?DATE-CODIFICATE?=

CHARSET este  numele setului de caractere utilizate, pentru diacritice putem folosi UTF-8 sau ISO-8859-2

Q – se foloseste pentru codificare quoted-prinable. Pentru base64 se foloseste B

DATE-CODIFICATE sunt în acest caz datele ( continutul subiectului, numele expeditorului sau al destinatarului ) codificate cu standardul Quoted Printable. In php se pot folosi functiile imap_8bit sau quoted_printable_encode

Doar cuvintele care conţin diacritice ar trebui codificate astfel. De exemplu subiectul “Plec în vacanţă” ar trebui codificat astfel:
“Plec =?UTF-8?B?w65uIHZhY2FuxaPEgw==?=”  ( pentru Base64)  sau …
”Plec =?UTF-8?Q?=C3=AEn vacan=C5=A3=C4=83?=” ( pentru quoted-printable )

Diacritice în corpul mesajului

Pentru mesajele care conţin doar o parte de tip text trebui specificat setul de caractere în antet. ( Content-Type: text/plain; charset=”UTF-8″ )
Deasemenea conţinutul ar trebui codificat cu quoted-printable şi specificat encoding-ul prin antetul Content-Transfer-Encoding: quoted-printable.

Pentru mesajele care conţin mai multe parţi ( de exemplu mesajele care conţin atât o parte text cât şi o parte html ), pentru fiecare parte trebuie facut la fel.

Daca folositi html, nu uitaţi să specificaţi setul de caractere şi în interiorul tagului head:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
This entry was posted in email and tagged , , , , . Bookmark the permalink.

Leave a Reply

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