Ce face mb_encode_mimeheader / mb_decode_mimeheader
Antetele de email (subiect, nume expeditor) acceptă doar caractere ASCII. Textul cu diacritice trebuie codat în forma =?UTF-8?B?...?=. mb_encode_mimeheader face această codare și rupe antetele lungi pe mai multe rânduri.
$transfer_encoding poate fi "B" (Base64, implicit) sau "Q" (quoted-printable). mb_decode_mimeheader transformă un antet primit înapoi în text normal.
Parametri
| Parametru | Descriere |
|---|---|
$string |
Textul antetului. |
$charset |
Opțional. Codarea folosită în antet. Implicit, cea dată de mb_language (UTF-8). |
$transfer_encoding |
Opțional. "B" sau "Q". |
$newline |
Opțional. Separatorul de rând pentru antetele lungi. |
$indent |
Opțional. Câte caractere ocupă deja numele antetului pe primul rând. |
Ce returnează
Antetul codat (respectiv decodat).
Exemple
Exemplul 1: Subiectul unui email
<?php
$subiect = mb_encode_mimeheader("Comandă confirmată", "UTF-8", "B");
echo "Subject: $subiect\n";
echo mb_encode_mimeheader("Comandă confirmată", "UTF-8", "Q") . "\n";
echo mb_decode_mimeheader($subiect);
Rezultat
Subject: =?UTF-8?B?Q29tYW5kxIMgY29uZmlybWF0xIM=?=
=?UTF-8?Q?Comand=C4=83=20confirmat=C4=83?=
Comandă confirmată
Greșeli frecvente
- Trimiți cu
mailun subiect cu diacritice necodat. Unele programe de email afișează caractere ciudate. Codează subiectul sau foloseștemb_send_mail, care o face automat.
Comenzi înrudite
mb_send_mail: Trimite un email ca mail(), dar codează automat subiectul și corpul mesajului după limba setată cu mb_language.quoted_printable_encode / quoted_printable_decode: Codează un text în formatul quoted-printable folosit în emailuri; quoted_printable_decode îl decodează.mb_language: Setează sau returnează limba folosită de mbstring la codarea emailurilor trimise cu mb_send_mail.