tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
321
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    dku79 dku79 ist offline Grünschnabel
    Registriert seit
    Jan 2011
    Beiträge
    2
    Hallo zusammen,

    ich möchte ein IMAP Postfach mit allen Attachments auslesen und dann die Dateien im Dateisystem speichern.

    Klappt soweit alles super... aber bei HTML-E-Mails habe ich Probleme.
    Lese die Mails bisher mit folgenden Befehlen aus:

    $header = imap_fetchbody($mail,$hole_mail,0,FT_UID);
    $body = imap_fetchbody($mail,$hole_mail,1,FT_UID);

    Da bekomme ich bei Multiparts-Mails natürlich beide Versionen - Text und HTML. Aber das kann ich mir ja mit 1.1 und 1.2 auslesen.

    Zum testen habe ich einige Mails verschickt in txt und htm format.
    Und genau bei HTML-Mails (subtype=HTML) habe ich mein Problem. Alle Felder sind leer

    Wo finde ich denn meinen HTML text? Und wenn ich mit 1 den Body auslesen will, braucht es superlange. Ich verstehe es einfach nicht.

    Vorher lese ich noch mit fetch_structure aus:

    type --> 0
    encoding --> 0
    subtype --> HTML

    Wäre super wenn einer nen Tipp hat.
    Viele Dank im voraus.
     

  2. #2
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Ich hab damit noch nix gemacht, aber der Kommentar sieht doch vielversprechend aus:

    http://de.php.net/manual/de/function...body.php#89002
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  3. #3
    dku79 dku79 ist offline Grünschnabel
    Registriert seit
    Jan 2011
    Beiträge
    2
    Danke erstmal.
    An der Stelle habe ich mich auch informiert.


    Zusätzliche Informationen - die Mail hat folgende Daten, ohne Anhang...
    Content-Type: text/html; charset="utf-8"
    Content-Transfer-Encoding: 7bit

    Ich dekodiere die Datei nicht, versuche sie also nur mit zu holen:
    $body = imap_fetchbody($mail,$hole_mail,1,FT_UID);

    Was ich aber nun nicht verstehe ist, warum ich nirgendwo meinen Body finden kann - ich würde erwarten, dass er kodiert da wäre.

    Und in dieser Struktur ist bei mir alles leer:
    0 - Message header
    1 - MULTIPART/ALTERNATIVE
    1.1 - TEXT/PLAIN
    1.2 - TEXT/HTML
    2 - MESSAGE/RFC822 (entire attached message)
    2.0 - Attached message header
    2.1 - TEXT/PLAIN
    2.2 - TEXT/HTML
    2.3 - file.ext

    also wenn ich:
    $body = imap_fetchbody($mail,$hole_mail,1,FT_UID);
    $body = imap_fetchbody($mail,$hole_mail,1.1,FT_UID);
    $body = imap_fetchbody($mail,$hole_mail,1.2,FT_UID);

    usw. abfrage...
     

  4. #4
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Warum versuchst du es nicht mal mit 2.2? Vielleicht wird die HTML-Mail da angehängt (als Anhang) und nicht im Multipart-Teil?
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 22.09.10, 13:01
  2. HTML Angaben in einer HTML Mail
    Von jürgen-schulz im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 08.10.09, 17:13
  3. Antworten: 3
    Letzter Beitrag: 27.01.07, 18:35
  4. imap und Kopie einer E-Mail
    Von notebook20000 im Forum PHP
    Antworten: 6
    Letzter Beitrag: 01.11.06, 15:04
  5. Inhalt einer Mail auslesen
    Von Dani_CH im Forum PHP
    Antworten: 3
    Letzter Beitrag: 08.07.04, 13:26