Avatar billede peturkirke Novice
28. november 2009 - 00:15 Der er 2 kommentarer og
1 løsning

specialtegn i mail subject

Jeg prøver at sende email med PHP functionen mail.

Det fungerer ret godt, men jeg har problem med et bestemt tegn.

Jeg er fra Færøerne. Tegn som ó og ú fungerer fint, men problemet er vores specielle bogstav ð.

Alt skrives rigtigt ud i body, men problemet er i subject.

Jeg kan se at subject skal følge RFC 2047, men er ikke helt klar over, hvat det betyder i forbindelse med PHP.

Er der en ekspert, der kan hjælpe ?
Avatar billede arne_v Ekspert
28. november 2009 - 00:46 #1
For et par aar siden lavede jeg dette eksempel:

<?php
ini_set('SMTP', 'smtp.myisp.com');
ini_set('smtp_port', 25);
function qp_encode($str, $wrap=true) {
    $res = '';
    for($i = 0; $i < strlen($str); $i++) {
        if(ord($str[$i]) < 128) {
            $res .= $str[$i];
        } else {
            $res .= sprintf('=%02X', ord($str[$i]));
        }
    }
    return ($wrap === true) ? wordwrap($res, 74, "=\n") : $res;
}
function header_encode($str) {
    return '=?ISO-8859-1?Q?' . qp_encode($str) . '?=';
}
function body_encode($str) {
    return qp_encode($str, true);
}
$from = 'someone@somewhere.dk';
$to = 'someone@somewhere.dk';
$subject = header_encode('Dette er en lille test af ÆØÅ');
$body = body_encode('Dette er en lille test af ÆØÅ');
$headers = "From: $from\r\n" .
          "Content-Type: text/plain; charset=ISO-8859-1\r\n" .
          "MIME-Version: 1.0\r\n" .
          "Content-Transfer-Encoding: quoted-printable";
mail($to, $subject, $body, $headers);
?>

Det antager ISO-8859-1.
Avatar billede peturkirke Novice
28. november 2009 - 00:56 #2
super !

Jeg har imidlertid fundet ud af, at nogen af mine mails fungerer, mens andre ikke gør, så fejlen ligger nok et sted på min side.

skriv et svar, så får du poeng :)
Avatar billede arne_v Ekspert
28. november 2009 - 01:00 #3
Proev med den encoding som jeg viser ovenfor.

Hvis du stadig faar problemer saa proev og post de raa header linier.

og et svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester