Hi Leute
Ich lese minütlich eine mailbox via IMAP aus und speichere die neuen emails in meiner mysqlDB. Das klappt auch ganz gut, den header mit den Informationen des Absenders, des Empfängers, die CC, BCC, das Subject und so weiter kann ich korrekt ermitteln.
Auch das decoden funktioniert mit dem Subject und dem Absendernamen korrekt, mittels
Wo ich jetzt aber noch komplett stecken bleibe ist beim Auslesen des Mail bodies mit dem Textinhalt.
Im Netz habe ich wenige Informationen gefunden, und nichts hat wirklich geklapt.
Den Body hole ich mit
Nun gibt es mir mails aus, die so aussehen:
So sehen die Mails aus die als MIME-type "multipart" haben.
Andere Mails (MIME-type 0, also einfach text), sehen wiederum so aus:
usw... einfach mit falschem encoding.
Ich blicke hier einfach nicht durch und hoffe, dass mir jemand einen Denkanstoss geben könnte. Was hat es mit den verschiedenen Encodings auf sich (base65, 7 oder 8 bit, quoted printable, binary --->http://ch2.php.net/manual/de/functio...hstructure.php)
ud wie muss ich mit denen umgehen?
Ich stelle mir etwas ähnliches wie:
Danke im Voraus und Gruss,
dsxs
Ich lese minütlich eine mailbox via IMAP aus und speichere die neuen emails in meiner mysqlDB. Das klappt auch ganz gut, den header mit den Informationen des Absenders, des Empfängers, die CC, BCC, das Subject und so weiter kann ich korrekt ermitteln.
Auch das decoden funktioniert mit dem Subject und dem Absendernamen korrekt, mittels
Code:
$subject = imap_utf8($subject); $subject = utf8_decode($subject);
Wo ich jetzt aber noch komplett stecken bleibe ist beim Auslesen des Mail bodies mit dem Textinhalt.
Im Netz habe ich wenige Informationen gefunden, und nichts hat wirklich geklapt.
Den Body hole ich mit
Code:
$mailtext = imap_body($mailbox, $index);
This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01C54F11.577D1260 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Andere Mails (MIME-type 0, also einfach text), sehen wiederum so aus:
Messieurs, J'ai bien remport=E9 cette ench=E8re en plus j'i pay=E9 la facture le 22.= 04.2005,=20 mais =E0 ce jour, je n'ai toujours rien re=E7u,
Ich blicke hier einfach nicht durch und hoffe, dass mir jemand einen Denkanstoss geben könnte. Was hat es mit den verschiedenen Encodings auf sich (base65, 7 oder 8 bit, quoted printable, binary --->http://ch2.php.net/manual/de/functio...hstructure.php)
ud wie muss ich mit denen umgehen?
Ich stelle mir etwas ähnliches wie:
Code:
if ( $tcode == 0 ) { //decodier 7bit string } if ( $tcode == 3 ) { //decodier base64 } ..... usw
Danke im Voraus und Gruss,
dsxs
Kommentar