Den Anhang einer Mail auslesen.
Hallo,
ich möchte via PHP einen POP3-Account abrufen. Ein passendes Script dafür habe ich schon gefunden, mit dem ich $empfaenger, $betreff, $absender, $absender_email und $body erhalte. Mein Problem ist jetzt noch, dass ich nach einer Lösung suche, wie ich einen Anhang auslesen kann, der in der Mail ist, und dann in einem ordner auf dem Server abspeichern kann.. Es handelt sich dabei immer um JPEG's. Ich habe nun schon mit Klassen von phpclasses.org und pear-modulen ausprobiert, aber bisher hat nichts geklappt. wäre wirklich super wenn mir jemand helfen könnte. Das Skript, das ich habe lautet: // POP3-Server $host = "Mail-Server"; $port = "110"; // User-Daten $user = "Benutzername"; $passwort = "passwort"; // Connect to Mailbox $mailbox = imap_open("{".$host."}INBOX","$user","$passwort"); // Mail holen $check = imap_check($mailbox); $Anzahl_Nachrichten = $check->Nmsgs; $Anzahl_Neuer_Nachrichten = $check->Recent; // Mail auslesen $nMessages = imap_num_msg($mailbox); for($i = 1; $i <= $nMessages; $i++) { $header = imap_header($mailbox, $i); $datum = $header->Date; $m_id = $header->message_id; $empfaenger = $header->toaddress; $betreff = $header->subject; $absender = $header->from[0]->personal; $absender_email = $header->from[0]->mailbox."@".$header->from[0]->host; $body = imap_body($mailbox,$i); $text_koerper = $body; $fheader = imap_fetchheader($mailbox,$i); // Mail in DB speichern. $re1 = mysql_query("INSERT INTO tabelle SET empfaenger='$empfaenger', absender='$absender', absender_email='$absender_email', text_koerper='$text_koerper'")or die(mysql_error()); } // Mailbox schließen imap_close($mailbox); |
Prinzipiell ist das nicht weiter schwer, Du musst den Header der Mail analysieren und das Boundary auslesen, dann musst Du den Body an den Boundarys exploden, so hast Du schonmal die Einzelnen Teile (versch. Anhänge, Text, usw) der Mail, von den Anhängen (der erste Teil des Bodys ist immer der Text) musst Du jetzt noch alles auslesen, was sich vor der Leerzeile in diesem Abschnitt befindet. Dort stehen Dinge wie Content Type usw. Alles nach der Leerzeile ist dann der eigentliche Inhalt des Anhangs (sprich die Datei) - dies musst Du alles in eine neue Datei schreiben und mit entsprechenden Namen speichern. Schon hast Du Deine Bilder auf dem Server,
|
hallo ben,
"nicht weiter schwer" <-- *augen reib* sorry, ich weiß, dass man eigentlich nicht nach kompletten skript fragt, aber könntest du mir den part des auslesens in mein bestehedes skript einbauen? ich such jetzt schon seit 4 wochen nach einer lösung. habe echt schon fast auf der ganzen welt gefragt ;) ... und bekomme immer nur eine antwort, dass ich doch selber irgendwo gucken soll und dass es ja super schwer ist, weil die mime-types so kompliziert wären. aber ich habe jetzt schon sachen ausprobiert, aber einfach keinen plan mehr wie ich das anstellen soll, damit es klappt. du wärst echt meine letzte rettung, da ich die ganzen anderen foren mit meiner fragerrei echt voll nerve ;) ich wär dir echt dankbar !!!! |
Ich hab sowas noch daheim rumliegen, allerdings ist es nicht ganz ausgereift! Ich schicks Dir demnächst mal zu, wenn Du mir deine E-Mailadresse zumailst (an viktor.m@nb-kreativ.de ), dass kann aber noch ein wenig dauern! Ansonsten, schau Dir mal diverse Webmailscripte an, die müssen das ja auch irgendwie gelöst haben.
|
|
Mhm. Gibt es vielleicht ein Buch, dass so etwas beschreibt?
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:14:36 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.