Jak zakodowac temat e-maila?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • latet

    Jak zakodowac temat e-maila?

    Witam,

    Wysylam sobie maile ze skryptów php najprosciej
    jak mozna:

    $to="mojadres@o k.pl";
    $subject="Temat listu";
    $body="Tresc listu";
    mail($to, $subjest, $body);

    I wszystko by³o pieknie, dopóki na serwerze pocztowym
    nie zainstalowali filtra antyspamowego.

    Teraz takie maile sa czesto odsiewane, a powód:
    SUBJ_ILLEGAL_CH ARS - Subject contains too many raw illegal characters.

    Chodzi oczywiscie tylko o maile, gdzie w tytule s± polskie litery,
    a niestety byæ musz±.

    Pogl±dn±³em jak wygl±daj± nag³ówki mailu wysylanych
    przez programy pocztowe i widze, ze polskie znaki w temacie
    s± zakogowane, np temat "ABCÊ" wygl±da tak:

    Subject: =?iso-8859-2?B?QUJDyg==?=

    Nie wiem co to za standard kodowania.
    Czy w PHP sa funkcje, ktore to automatycznie obslu¿±,
    dla polskich liter?

    Dzieki,

    latet


  • Chung Leong

    #2
    Re: Jak zakodowac temat e-maila?


    "latet" <bla@bla.bla.pl > wrote in message
    news:ct97ms$i4d $1@host102-ursus.spray.net .pl...[color=blue]
    > Witam,
    >
    > Wysylam sobie maile ze skryptów php najprosciej
    > jak mozna:
    >
    > $to="mojadres@o k.pl";
    > $subject="Temat listu";
    > $body="Tresc listu";
    > mail($to, $subjest, $body);
    >
    > I wszystko by³o pieknie, dopóki na serwerze pocztowym
    > nie zainstalowali filtra antyspamowego.
    >
    > Teraz takie maile sa czesto odsiewane, a powód:
    > SUBJ_ILLEGAL_CH ARS - Subject contains too many raw illegal characters.
    >
    > Chodzi oczywiscie tylko o maile, gdzie w tytule s± polskie litery,
    > a niestety byæ musz±.
    >
    > Pogl±dn±³em jak wygl±daj± nag³ówki mailu wysylanych
    > przez programy pocztowe i widze, ze polskie znaki w temacie
    > s± zakogowane, np temat "ABCÊ" wygl±da tak:
    >
    > Subject: =?iso-8859-2?B?QUJDyg==?=
    >
    > Nie wiem co to za standard kodowania.
    > Czy w PHP sa funkcje, ktore to automatycznie obslu¿±,
    > dla polskich liter?[/color]

    Istotna informacje znajdziesz w RFC 2049:

    Generally, an "encoded-word" is a sequence of printable ASCII
    characters that begins with "=?", ends with "?=", and has two "?"s in
    between. It specifies a character set and an encoding method, and
    also includes the original text encoded as graphic ASCII characters,
    according to the rules for that encoding method.

    [...]

    encoded-word = "=?" charset "?" encoding "?" encoded-text "?="

    Dla jezyku polskiego charset jest iso-8859-2. Encoding "B" to base64. Wiec
    mamy:

    function encodeSlowo($s) {
    return "=?iso-8850-2?B?" . base64_encode($ s) . "?=";
    }


    Comment

    Working...