Peter Thomassen: Multipart-Mails

Hallo Forum!

Wir schreiben gerade einen Webmailer, der ist auch so weit
fertig - aber ein Problem haben wir noch:

Es gibt Multipart-Mails, in folgenden beiden Formen:

  1. multipart/alternative  Bietet Alternativen an.
           _____|______
           |          |
       text/plain text/html

  2. multipart/mixed        Weist auf verschiedene Inhaltstypen hin.
           _____|_______
           |           |
       text/plain image/gif

Letzteres Beispiel kenne ich nur aus RFCs und sonstigen
Recherchen, ich hab keine Mailclient gefunden, der das z.B.
für Anhänge verwendet.

Für die PHP-Funktion imap_fetchbody() referenziert man die
Wurzel zum Beispiel mit 1, das erste Kind mit 1.1, das
zweite mit 1.2 (Integer bzw. Float) und so weiter.

Jetzt stellt sich die Frage, ob es auch so etwas gibt:

3)        multipart/mixed
            _______|___________
            |                 |
   multipart/alternative  image/gif
        ____|_______
        |          |
    text/plain text/html

Wenn ja, stellt sich die Frage, wie man das referenzieren soll.
1.1.2 für multipart/mixed -> multipart/alternative -> text/html
kommt mir doch ziemlich komisch vor, und 1.12 wäre doppeldeutig.

Vielleicht kann man das sogar noch weiter verschachteln, wer
weiß ...

Any ideas, vielleicht einen Hinweis auf eine RFC?

Danke!
Peter

  1. Hallo Peter,

    Any ideas, vielleicht einen Hinweis auf eine RFC?

    Hilft Dir Anhang A aus RFC 2049 weiter? (A Complex Multipart Example)

    Viele Grüße,
    Christian

    1. Hallo Christian,

      Any ideas, vielleicht einen Hinweis auf eine RFC?

      Hilft Dir Anhang A aus RFC 2049 weiter? (A Complex Multipart Example)

      Ähm, kann es sein, dass diese Mail nicht richtig ist? Wenn ich
      den Festbreitentext von [1] mit imap_fetchstructure() parse -
      natürlich hab ich die ersten fünf Leerzeichen in jeder Zeile
      gelöscht - kommt zwar etwas heraus, das sind aber sicher nicht
      diese Teile.

      [1]: http://www.zvon.org/tmRFC/RFC2049/Output/chapter9.html

      Ich habe mir jetzt mit der PEAR-Klasse Mail_mimeDecode geholfen,
      weil ich keine Lust hatte, mir einen eigenen Parser zu schreiben
      ;-) - mit den imap_*-Funktionen kommt man nicht weit, wenn man
      verschachtelte Multiparts hat.

      Mail_mimeDecode weiß bei o.g. Beispiel aber auch nicht weiter -
      wenn ich mir die Mail aber angucke, müsste sie eigentlich so
      gültig sein ...

      Bye,
      Peter

      1. Hallo Peter,

        Ähm, kann es sein, dass diese Mail nicht richtig ist?

        Keine Ahnung. Ich habe das noch nie probiert, sondern nur das RFC gelesen.

        Mail_mimeDecode weiß bei o.g. Beispiel aber auch nicht weiter -
        wenn ich mir die Mail aber angucke, müsste sie eigentlich so
        gültig sein ...

        Im Zweifel hat IMHO das RFC Recht. ;-/ Im Moment habe ich aber leider nicht die nötigen Mittel, das genauer zu testen. Wenn sich niemand sonst findet, der etwas dazu sagen kann, kann ich Dir dann übermorgen eine Mail schicken?

        Viele Grüße,
        Christian

        1. Hallo Christian,

          Mail_mimeDecode weiß bei o.g. Beispiel aber auch nicht weiter -
          wenn ich mir die Mail aber angucke, müsste sie eigentlich so
          gültig sein ...

          Im Zweifel hat IMHO das RFC Recht. ;-/

          Hab ich das angezweifelt? ;o

          Im Moment habe ich aber leider nicht die nötigen Mittel, das genauer zu testen. Wenn sich niemand sonst findet, der etwas dazu sagen kann, kann ich Dir dann übermorgen eine Mail schicken?

          Ja, gerne, wäre nett von Dir! :-)

          Bye,
          Peter