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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
23.10.2009, 19:00:33
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 33
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
|
24.10.2009, 03:06:07
|
|
Member
|
|
Registriert seit: Jun 2006
Beiträge: 655
|
|
AW: imap: mail mit bild - anzeigefehler!!!
__________________
Liebe Grüße
|
24.10.2009, 13:11:31
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 33
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...
|
24.10.2009, 15:39:48
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 33
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!
|
25.10.2009, 11:40:54
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 33
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
|
25.10.2009, 12:08:02
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
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!
|
25.10.2009, 13:26:39
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: mail mit eingebetteten bildern ausgeben - cid: ???
Zitat:
Zitat von muhlba91
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
|
25.10.2009, 14:32:56
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 33
Beiträge: 15
|
|
AW: imap: mail mit bild - anzeigefehler!!!
danke, aber ich habs schon halbwegs gelöst...
|
25.10.2009, 15:00:02
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: imap: mail mit bild - anzeigefehler!!!
Zitat:
Zitat von muhlba91
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!
|
25.10.2009, 16:44:42
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 33
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
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 17:42:41 Uhr.
|