SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 23.10.2009, 19:00:33
muhlba91 muhlba91 ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 28
Beiträge: 15
imap: mail mit bild - anzeigefehler!!!

Hallo!

Ich habe ein kleines Problem mit meinem Mail-Skript. Hoffe ihr könnt mir helfen!!

Zum Grundverständnis: ich habe ein Mail, das als TEXT/HTML gesendet wurde.
Abholung per IMAP und Ausgabe funktioniert wunderbar, nur ist jetzt mein Problem, dass ich ein HTML-Mail habe, in dem ein Bild eingebettet wurde (zum Beispiel ein Smiley oder so...).
Und wenn ich nun mit denselben Befehlen meinen Mailbody ausgebe, bekomme ich eine elendslange "Wurst" aus Zeichen (also eine base64-Kodierung, wie normal -> dies schreibt er sogar bei der Ausgabe hin!!!). Der Rest der Mail (also der HTML-Teil) wird fast wunderbar angezeigt (es wird nur ein kurzer Header eingeblendet, der auch stört!).

Hat irgendjemand eine Idee wie ich meine Mail mit dem eingebetteten Bild fehlerfrei ausgeben kann???

Ich wäre über jede Idee wirklich sehr dankbar!!!

LG Daniel
Mit Zitat antworten
  #2  
Alt 24.10.2009, 03:06:07
Benutzerbild von rarios
rarios rarios ist offline
Member
 
Registriert seit: Jun 2006
Beiträge: 655
AW: imap: mail mit bild - anzeigefehler!!!

bas64-Kodierung -> base64-Dekodierung

http://de.php.net/manual/de/function.imap-base64.php
http://de.php.net/manual/de/function.base64-decode.php
__________________
Liebe Grüße
Mit Zitat antworten
  #3  
Alt 24.10.2009, 13:11:31
muhlba91 muhlba91 ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 28
Beiträge: 15
AW: imap: mail mit bild - anzeigefehler!!!

danke, aber ich kann nicht die ganze Nachricht dekodieren, da der Text sonst unleserlich ist!
Message Quelltext: http://www.auhof.eduhi.at/~muhlba91/mail.txt
Hoffe mein Problem wird dadurch klarer...
Mit Zitat antworten
  #4  
Alt 24.10.2009, 15:39:48
muhlba91 muhlba91 ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 28
Beiträge: 15
AW: imap: mail mit bild - anzeigefehler!!!

habe nun endlich ich den ganz normalen Text meiner Mail herausbekommen.
Nur wie kann ich jetzt das eingebettete Bild anzeigen lassen?
Vielen Dank!
Mit Zitat antworten
  #5  
Alt 25.10.2009, 11:40:54
muhlba91 muhlba91 ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 28
Beiträge: 15
mail mit eingebetteten bildern ausgeben - cid: ???

Hallo!

Ich habe ein Problem mit einem Mail. Bis jetzt kann ich alle Parts von einander trennen.
D.h. ich bekomme immer den richtigen HTML-Part, nur werden dort keine Bilder (in meinem Fall halt ein Smiley) ausgegeben. Diese sind wenn man sich den Quelltext des ausgegeben Textes ansieht mit <img src="cid:...@..."> eingebettet.
Was ich noch von meinem Mail und Bild habe ist der base64-Code des Bildes. Wenn ich diesen mit <img src="data:image/gif;base64,...."> ausgebe bekomme ich auch mein Bild.
Aber hierbei wird es gleich angezeigt!
Und jetzt meine Frage: Wie bekomme ich dieses Bild an die richtige Stelle bzw. gebe ihm den richtigen Namen (wie er im cid: steht), sodass es nur mehr dort erscheint - automatisch ohne, dass ich den ganzen HTML-Quelltext auseinander nehmen muss??

Bin wirklich für jede gute Idee offen!

LG Daniel
Mit Zitat antworten
  #6  
Alt 25.10.2009, 12:08:02
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.665
AW: imap: mail mit bild - anzeigefehler!!!

Hallo Daniel,

Themen werden nicht besser oder schneller beantwortet, wenn man sie mehrfach postet bzw. in mehreren Unterforen.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #7  
Alt 25.10.2009, 13:26:39
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 43
Beiträge: 1.938
AW: mail mit eingebetteten bildern ausgeben - cid: ???

Zitat:
Zitat von muhlba91 Beitrag anzeigen
Bin wirklich für jede gute Idee offen!
ok... dann lass das ganze und nimm eine anständige mail-klasse, die dir das mail-gefrickel erspart. such mal hier im forum nach "swift" - mail-probleme gibt's immer wieder und die empfehlungen sind häufig dieselben .-

cx
Mit Zitat antworten
  #8  
Alt 25.10.2009, 14:32:56
muhlba91 muhlba91 ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 28
Beiträge: 15
AW: imap: mail mit bild - anzeigefehler!!!

danke, aber ich habs schon halbwegs gelöst...
Mit Zitat antworten
  #9  
Alt 25.10.2009, 15:00:02
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.665
AW: imap: mail mit bild - anzeigefehler!!!

Zitat:
Zitat von muhlba91 Beitrag anzeigen
danke, aber ich habs schon halbwegs gelöst...
Eine kurze Erinnerung an Punkt B6 sei gestattet.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #10  
Alt 25.10.2009, 16:44:42
muhlba91 muhlba91 ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 28
Beiträge: 15
AW: imap: mail mit bild - anzeigefehler!!!

wollt ich später machen. also mach ichs jetzt...

1.habe ich mit einer funktion, die ein übergebebenes array mit den verschiedenen parts einer mail, die ich mit imap_fetchstructure erhalten habe, analysiert welche disposition und subtypes darin enthalten sind (disposition=INLINE für eingebettes image). die gab mir zurück ob überhaupt inline-images vorhanden sind oder ob der type multipart/related ist - dann muss ich das ganze nochmals machen nur eine ebene tiefer.
2.wenn ich diese info habe und ich weiß, dass inline-images vorhanden sind, habe ich eine neue funktion gemacht, die mir das ganze genauer analysiert:
- dieser funktion werden die parts übergeben und eine von mir deklarierte wo variable (wird zum herausfinden welcher body-part das image ist benötigt (zumindest brauche ich es ;=)))
- hierin wird jeder part wieder einzeln durchsucht und überprüft ob disposition=INLINE ist, wenn ja dann wäre das ein eingebettes image.
- wichtig für später ist die content-id des images, da es dadurch eingebunden wird. (z.b: $part->id - content-id wird beim jeweiligen part als id gespeichert)
- davon habe ich das erste und das letzte zeichen mit substr abgetrennt, da diese < > sind
- nun zur rückgabe:
"$part_num=1+$i; //erhalte part-number des bodys (hier:wenn ich keine anhänge habe, reicht das)
$inline_pics[$cid]["type"]="image/gif"; //image type ist gif -> kann aber auch durch analysieren des type und subtype des parts bekommen werden
$inline_pics[$cid]["encoding"]="base64"; //codierung - meistens eh base64, ansonsten gibt es bei den parts eine variable encoding - daraus kann auf die codierung geschlossen werden
$inline_pics[$cid]["content"]=imap_fetchbody($mbox, $msg_id, $part_num, FT_UID+FT_PEEK);" //der wert des bildes, wie es in der mail steht
- sollte ein anhang auch noch dabei sein, also eine ebene tiefer, dann ist part_num="1.2.".($i+1)
- dieser array wird dann zurückgegeben

nun zur funktion mit dem ersetzen:
mache ich mit preg_replace_callback:
$body=preg_replace_callback($pattern, 'replaceByContentID', $body);
$pattern ist: '#src="cid:(?<cid>[^"]+)"#imu' - dieser gibt der funktion replaceByContentID den gefunden werd zurück (z.B.: smiley.gif)
- die funktion analysiert nun diesen wert und gibt das entsprechende image aus:
$image = $inline_pics[ $matches['cid'] ]; //Hole image aus array mit der jeweiligen cid
return 'src="data:' . $image['type'] .';'. $image['encoding'] .','. $image['content'] .'"'; //gibt das image zurück...

und schon passts...
zum letzten teil - das habe nicht ich gefunden sondern dabei hatte ich hilfe von anderen...

hoffe, dass es etwas klarer wird - bin nicht so der große erklärer! ;=)
achja: ein image wird von einem mail mit <img src="cid:...@..."> eingebunden -> also der Content-ID
Mit Zitat antworten
Antwort

Stichworte
base64, bild, cid, header, imap, mail


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
imap mail senden und in den Postausgang verschieben olum PHP Grundlagen 0 16.02.2009 17:42:25
Dateien aus Ordner auslesen und darstellen MADdaMAX PHP Grundlagen 4 18.05.2008 20:05:34
Bild in Mail integrieren: cid Willow PHP Grundlagen 1 17.08.2006 22:41:57
Bild: align=left, nächster Absatz soll unter dem Bild beginnen! mad-boy HTML, CSS und JavaScript Help! 2 24.08.2003 22:11:12
PHP mail() funktion und server probleme flobee PHP für Fortgeschrittene und Experten 0 03.07.2002 02:18:27


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:26:45 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.


© 2001-2019 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt