PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : E-Mails zu lesbarem Text konvertieren?


mf_2
2004-07-30, 17:31:53
Hallo,

Ich hab mir ein kleines PHP-Script geschrieben, das via IMAP und POP3 die Mails von meinen verschiedenen Postfächern abholt und anzeigt.
Allerdings scheint da was mit dem Zeichensatz durcheinander zu laufen.

Ich habe folgende Mail von Freenet testweise an eine meiner Mail-Adressen geschickt:

//start

Hallo

Das ist ne Testmail
Das ist eine neue Zeile

Grüße mf

//ende

Und das ist das was ich beim abholen bekomme:

//start

This is a multi-part message in MIME format.

------=_NextPart_000_0005_01C4357C.65ECEFA0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hallo

Das ist ne Testmail =
Das ist eine neue Zeile

Gr=FC=DFe mf

//Hier kommt nochmal der gleiche Mist, diesmal aber mit HTML-Tags um z.b. die schrift zu manipulieren.

//ende

Wisst ihr, wie ich aus dem zeichensatz wieder lesbares zeug mache? Der Zeichensatz scheint erweitertes UTF-8 zu sein, die erweiterten Zeichen werden aber ned interpretiert.

Gnafoo
2004-08-01, 14:07:01
Du scheinst es hiermit zu tun zu haben:
http://www.faqs.org/rfcs/rfc1521.html

unter 5.1 Quoted-Printable Content-Transfer-Encoding:

(General 8-bit representation) Any octet, except those
indicating a line break according to the newline convention of the
canonical (standard) form of the data being encoded, may be
represented by an "=" followed by a two digit hexadecimal
representation of the octet's value.


Damit laut iso-8859-1:
0xFC ü
0xDF ß

also steht unten
"Grüße hf"

bloß versteckt :D

Edit:
Ich seh gerade, dass oben am Ende eines Satzes ein = steht. Das scheinen die Soft Line Breaks zu sein, die auch im Link oben beschrieben sind.

mf_2
2004-08-08, 18:17:31
Hallo,

Sry dass die antwort so lange auf sich warten laesst.

gibt es ne moeglichkeit ( php-funktion ? ) um das ganze in "normalen" text zu konvertiren?

/me
2004-08-09, 09:03:16
Hallo,

Sry dass die antwort so lange auf sich warten laesst.

gibt es ne moeglichkeit ( php-funktion ? ) um das ganze in "normalen" text zu konvertiren?

Es dürfte eigentlich nicht allzu schwer sein, selber eine Funktion zu schreiben.

mf_2
2004-08-19, 03:58:03
Und wie schreibe ich die am besten? Ich hab ncoh nie richtige Funktionen in PHP geschrieben.

clm[k1]
2004-08-19, 14:01:10
naja, du machst dir ein array das als ersetzungs-tabelle fungiert (da sollte dann drinne stehen, das FC ein ü ist usw)

etwa so:

$array[] = array("FC", "ü");
...


und dann könnte die funktion etwa so aussehen:


function decode_mail($text, $array){

for($i=0; $i<sizeof($array); $i++){
$text = str_replace($array[$i][0], $array[$i][1], $text);
}

return $text;
}


gruß
clm[k1]

/me
2004-08-19, 14:52:38
']naja, du machst dir ein array das als ersetzungs-tabelle fungiert (da sollte dann drinne stehen, das FC ein ü ist usw)

etwa so:

$array[] = array("FC", "ü");
...



Aufpassen: Das = nicht vergessen. ;)