Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Anhänge aus Mail per Link oder auf HDD?!

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • TAZweb
    hat ein Thema erstellt [Erledigt] Anhänge aus Mail per Link oder auf HDD?!.

    [Erledigt] Anhänge aus Mail per Link oder auf HDD?!

    Abend mitteinander...

    Ich hoffe mir kann jemand helfen!

    Es ist nicht das erste mal, das ich mich PHP&Co. beschäftige, was mir aber neu ist, ist ein WebMailer... Parts und InnerParts auslesen habe ich nun erfolgreich geschafft...

    Aber die Anhänge...

    Als TextWurstSalat kann ich es ja anzeigen, aber was soll ich damit machen???

    Hoffe mir hilft einer...


    THX im vorraus TAZARD



    ÄHM... Sorry... Lese die Mail per IMAP vom Server und zeige Sie mir über localhost auf meinem heimischen Rechner an... imap_fetchstructure und alles was drangehört ist bekannt...

    Aber MIME ist wohl noch net so meins


  • TAZweb
    antwortet
    Zitat von nikosch77-new Beitrag anzeigen
    Wie genau hast Du's jetzt gemacht? Aus dem Browser gespeichert? War Deiner Antwort nicht zu entnehmen.
    Sorry.

    Folgendes Miniscript hat sofort funktioniert:
    PHP-Code:
    $bildname=/*per imap_fetchstructure wird der Part des Bildes
                ausgelesen und dann der Dateiname extrahiert.
                Jener Part ist auch die NarichtNum*/

    $bildtext=imap_base64(imap_fetchbody([SERVER],[NachrichtNum],[PART]));

    $bilddatei=fopen($bildname,"wb");

    fwrite($bilddatei,$bildtext); 

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    [WIKI]http://de.wikipedia.org/wiki/Bin%C3%A4rformat[/WIKI]

    Eine Binärdatei (engl. binary file) ist eine Datei, die im Unterschied zu einer reinen Textdatei auch nicht-alphabetische Zeichen enthält. Es kann somit jeder beliebige Bytewert vorkommen. Dateien im Binärformat werden im Allgemeinen eher dazu verwendet, Daten abzuspeichern, als dass in ihnen Textdokumente gespeichert werden. Sie können auch nicht unbedingt mit einem üblichen Texteditor oder Text-Anzeigeprogramm eingesehen werden.
    Wie genau hast Du's jetzt gemacht? Aus dem Browser gespeichert? War Deiner Antwort nicht zu entnehmen.

    Einen Kommentar schreiben:


  • TAZweb
    antwortet
    Gehe davon aus, dass meine Frage beantwortet wurde. Danke euch! Werd' dem Forum aber sicher noch ne' Weile erhalten bleiben!


    GOOGLE: Bilddateien aus Imap Email als Datei abspeichern per PHP :ELGOOG

    Einen Kommentar schreiben:


  • TAZweb
    antwortet
    Zitat von nikosch77-new Beitrag anzeigen
    Man darf sich auch beherrschen. Deine emotionalen Ausbrüche machen den Thread jedenfalls nicht wertvoller.
    Schade... Der Versuch war es zumindest wert

    Zitat von nikosch77-new Beitrag anzeigen
    Sieht nach nem anderen Zeilenumbruch aus. Hast Du versucht, binär zu speichern (also fopen (, 'wb'))? Per Editor mach wahrsch. keinen Sinn, da der Browser nicht alle Zeichen darstellen kann.
    Stimmt... auch ne 1:1 Kopie von Original in Kopie per Notepad klappt nicht.
    Versuchs...
    Ich werd' verrückt... Es klappt... Ich danke Dir!!! ->tschuldigung, aber die emotionen...

    Blöde Frage, was bedeutet 'binär speichern'...?
    Habe mir auf Grund folgenden Hinweises von PHP.net nie Gedanken um jenes gemacht...
    PHP-Code:
    HinweisZusätzlich kann mode  der Buchstabe 'b'hinzugefügt werdender 
    die Behandlung von Binärdateien erlaubt.       Dies ist nur auf Systemen 
    sinnvoll
    welche zwischen Binärund       Text-Dateien unterscheiden (z.B
    WindowsIst bei Unix sinnlos).       Wenn das Feature nicht gebraucht wird,
     
    wird es einfach ignoriert.       Sie sollten den 'b' Flag verwendenum Ihre 
    Skripte portabler zu       machen

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    darf man hier fluchen?
    Man darf sich auch beherrschen. Deine emotionalen Ausbrüche machen den Thread jedenfalls nicht wertvoller.

    Sieht nach nem anderen Zeilenumbruch aus. Hast Du versucht, binär zu speichern (also fopen (, 'wb'))? Per Editor mach wahrsch. keinen Sinn, da der Browser nicht alle Zeichen darstellen kann.

    Einen Kommentar schreiben:


  • TAZweb
    antwortet
    Schnauze voll... <- sorry

    hab nun die Nacht und heute durchgecodet, rumgegoogelt und foren durchgelesen...

    habe mir per
    PHP-Code:
    imap_fetchbody(IMAPServer,Nachricht,part); 
    den jeweiligen Teil mit dem Attachment angschaut... Stand übrigens auch im [encoding] das per base64 dekodiert wird ROTWERD.

    Habe es dann per
    PHP-Code:
    imap_base64()
    // oder
    base64_decode() 
    dekodiert, den gesamten Salat mal per Editor als zb. jpg gespeichert (mit der Antwort, dass der Dateiheader nicht lesbar sei), mal versucht den Browser damit zu ärgern (kann den Header genausowenig lesen), dann auch mal direkt mit
    PHP-Code:
    fwrite(fopen("$ifs->parts[1]->dparameters[0]->value","r+"),base64_decode(imap_fetchbody(...))); 
    in die im Array angegebenen Bildnamen gespeichert (man(n) wird es kaum glauben, gleiches Ergebniss beim ansehen wie oben)

    Ich weiß nicht, wie ich (darf man hier fluchen?) verdammt nochmal ein einfaches kleines Bild von gerade mal 5422bytes anzeigen / abspeichern oder wie auch immer kann.

    Der Textsalat sieht nach dem dekodieren ein wenig anders aus, als das des Originals...

    Wer will kann sich die beiden Unterschiede mal ansehen...

    habe auf http://www.tazweb.de/zuhilf/hilfe1.htm mal beide Textsalate gepostet...

    Hoffentlich habt Ihr noch ne Idee... Danke

    Einen Kommentar schreiben:


  • TAZweb
    antwortet
    hmm... ICh versuch's und Informier euch

    Einen Kommentar schreiben:


  • tomtaz
    antwortet
    Dann mache einfach die ausgabe zu Testzwecken weg. Oder du speicherst das Bild alternativ ab.

    Einen Kommentar schreiben:


  • TAZweb
    antwortet
    Zitat von tomtaz Beitrag anzeigen
    das heist das in de_mail.imap.php on Line 4 bereits eine ausgabe gemacht wird sieh erst mal nach was da kommt
    dort beginnt die Ausgabe der Headerinformationen der Mail... zu Testzwecken. Danach PHPCode zum abspeichern des MailHeaders in MySQL.

    Habe auch versucht den header_content_type-code per include einzubinden, mit dem gleichen ergebniss... Leider finde ich per google nichts was passt.

    Aber ich werde mich morgen mal im de.php.net schlau machen... Zumindest weiß ich nun, das solch textwurst per base64 dekodiert wird (warum auch immer das mit imap_base64 nicht funzt???).

    Danke Dir, tomTAZ... vielleicht fällt Dir ja noch was ein, oder Du brauchst noch Info von mir?!

    Schönen Abend

    Einen Kommentar schreiben:


  • tomtaz
    antwortet
    das heist das in de_mail.imap.php on Line 4 bereits eine ausgabe gemacht wird sieh erst mal nach was da kommt

    Einen Kommentar schreiben:


  • Feelex
    antwortet
    header( 'Content-type: image/gif' );

    ganz am Anfang der Datei

    Einen Kommentar schreiben:


  • TAZweb
    antwortet
    Zitat von tomtaz Beitrag anzeigen
    In dem Fall ist es ein gif Bild.

    also :
    PHP-Code:
    header'Content-type: image/gif' ); 


    aso... d.h. mit
    PHP-Code:
    header'Content-type: image/gif' ); 
    sag ich dem Browser, das jetzt ein gif kommt...

    ...

    hmm... habe folgendes gemacht:
    PHP-Code:
    header'Content-type: image/gif' );
    base64_decode($mailtext); 
    und bekomme folgende Fehlermeldung:

    Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\tazroot\aufbau_mail\de_mail.imap.p hp:4) in D:\xampp\htdocs\tazroot\aufbau_mail\bild.php on line 2

    den Text in eine gif-datei zu speichern klappt auch net... zumindest meckert irfan mit "unbekannten header"

    Was mach ich falsch, oder gar nicht erst???

    Einen Kommentar schreiben:


  • tomtaz
    antwortet
    In dem Fall ist es ein gif Bild.

    also :
    PHP-Code:
    header'Content-type: image/gif' ); 

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Na siehste. Da hast Du doch Dein Bild. Kannst Du bspw, mit nem passenden Header im Browser ausgeben lassen.

    Einen Kommentar schreiben:

Lädt...
X