Mailbody parsenm nur wie?

topf

Mitglied
Hallo!

Ich bastele momentan aus "jux und dollerei" an `nem Mailclient fürs Web.

Abbholen der Mails klappt, speichern in einer DB auch.

Nur jetzt stehe ich vor folgendem Problem:
Wie zerpflück ich die Mails richtig?
Ich weiss das eine Mail, je nach Gestaltung durch Boundaries getrennt ist.
Die Kunst besteht jetzt sicherlich die Verschachtelung zu verstehen und geschickt die einzelnen "Körper" herauszuparsen und mit ihren Content-Types ( bei Anhängen/Bildern etc )abzuspeichern zwecks Weiterverarbeitung.

Ich habe jetzt 2 verschiedene Mailtypen, zur groben Unterscheidung:
1. "singlepart" -mails , also nur html , nur plain oder nur ein bild oder dergleichen
2. "multipart" - das hauptproblem sozusagen.

Die "singlepart" mails sind ziemlich einfach zu zerlegen, und es ist mir auch schon korrekt gelungen.

Für die Multipart-Mails brauch ich irgendwie Unterstützung.
Ich habe zunächst den Mailbody als ganzen in ein Array gesteckt ( per explode("\n", ..) ) um zeilenweise das ganze durchzugehen.
Ich schaffs aber jetzt irgendwie nicht, das schlüssig zu speichern.

Hat jemand eine Idee oder Informationsquellen, wo ich mich mit beschäftigen könnte? Oder direkt einen einschlägigen Lösungsansatz?

Ich bin für jede Hilfe offen.
 
Die Frage ist, wie du das ganze überhaupt abrufst.
Ich würde dir die Imap_* Funktionen von PHP ans Herz legen.
Dort gibts auch in den Comments zu den Funktionen nützliche Tipps (niemals 1:1 übernehmen, da schreiben keine "Profis"), wie zum Beispiel das folgende Snippet um Attachments zu lesen.
http://de3.php.net/manual/en/function.imap-fetchbody.php#43405

Auf den ersten Blick werden auch Encodings usw erkannt. Musste dir mal genau anschauen.
 
Zurück