![]() |
[Indy] Bild bei einer HTML-Email anzeigen lassen
Hallo,
ich nutze Indy 9 und möchte eine HTML-Email abrufen, in der ein Bild ist (nicht im Anhang als Datei, sondern direkt in der Mail). Die Mail wird in eine Datenbank gespeichert und mithilfe der TWebBrowser-Komponente kann ich mir die Mail angucken. Das Bild wird ja dennoch als Anhang der Mail angefügt und mithilfe der Content-ID an die entsprechende Stelle in der Mail gesetzt. Wenn ich das Bild nun in die DB lade (Blob-Feld), wie mach ich dem TWebBrowser klar, dass er den Anhang (das Bild) anzeigen soll? Bei mir ist nämlich immer nur (logischerweise) ein weißer Kasten mit einem roten X. Viele Grüße Sascha |
Re: [Indy] Bild bei einer HTML-Email anzeigen lassen
weiß keiner dazu was?
Ich bräuchte die Lösung sehr dringend :( |
Re: [Indy] Bild bei einer HTML-Email anzeigen lassen
Zitat:
ich könnte bilder bei outlook nur so einbinden: - Das bild verweist auf eine webseite - das Bild wird zum anhang verlinkt |
Re: [Indy] Bild bei einer HTML-Email anzeigen lassen
Ja das habe ich ja gesagt. Im Anhang befindet sich ja das Bild. Das wird mithilfe einer Content-ID in die Mail verlinkt. Aber wenn ich nun den Anhang in ein Feld in einer DB speichere und den Quellcode der Mail in ein Feld speichere und ich nun die Mail mithilfe des WebBrowsers anzeigen lassen möchte, wie mach ich ihm klar, dass sich das Bild in dem Feld XYZ befindet?
|
Re: [Indy] Bild bei einer HTML-Email anzeigen lassen
ich glaub' das geht nicht!!! dass hat nämlich jetzt nichts mehr mit delphi zu tun, außer das der anhang vorher in ein verzeichnis expotiert wird und im WebBrowser ersetzt du einfach diese zeile!!!
> Beispiel: Du bekommst eine E-Mail. Mit einem Bild (urlaubSchweiz04.jpg). Dein Programm speichert dies im Datensatz XYZ. Der Nutzer deines Programmes will die E-Mail lesen und klickt sie an. Dein Programm speichert das Bild aus dem Datensatz XYZ nach 'c:\temp\urlaubSchweiz04.jpg' Dein Programm sucht im Quellcode (HTML), ob irgendwo steht: 'urlaubSchweiz04.jpg' Wenn ja, wird dies ersetzt durch: 'c:\temp\urlaubSchweiz04.jpg' |
Re: [Indy] Bild bei einer HTML-Email anzeigen lassen
hm.. daran hab ich auch schon gedacht, nur wäre es halt sehr umständlich bzw. bei mehreren bildern dauert es lange, bis die Mail geöffnet wird.
Wie macht Outlook es denn? Da wird ja auch die TWebBrowser-Komponente verwendet. Ich habe dort mal testweise eine Mail geöffnet, aber ich habe auf meinem PC nirgendswo das Bild als temporäre Datei gefunden. |
Re: [Indy] Bild bei einer HTML-Email anzeigen lassen
[Edit: Ich bin sooo blöd, ich hab TimonWorlds's Post übersehen :oops: ]
Hi Sascha, geh doch einfach durch den HTML-QuellCode und suche diese ID. Die ID kannst du dann durch einen Pfad ersetzen, der auf eine temporäre Datei des Bildes zeigt. Also, Bild aus der DB holen und in einem Temp-Ordner zwischenspeichern, Quelltext anpassen, Mail anzeigen und anschließend den Temp-Ordner wieder leeren MfG Christian |
Re: [Indy] Bild bei einer HTML-Email anzeigen lassen
Ja, aber wenn man nun eine Mail mit ein paar Bildern hat, dannn dauert es doch total lange, die zu öffnen oder nicht? Erst die Mail durchsuchen, die CIDs durch den Pfad austauschen, die Bilder in einen Temp-Ordner zwischen speichern...
Gruß Sascha |
Re: [Indy] Bild bei einer HTML-Email anzeigen lassen
Also,
Stringreplace etc geht sehr schnell. Eine Mail ist ja meistens nicht länger als eine DIN A4 Seite. Das ist kein Problem. Das Problem ist das Laden der Bilder aus der Datenbank. Aber ob du das Bild jetzt in einen Blobstream lädst und es dann visualisierts oder ob du den Stream vorher kurz abspeicherst ist eingentlich egal, das macht keinen messbaren Zeitunterschied aus. MfG Christian |
Re: [Indy] Bild bei einer HTML-Email anzeigen lassen
OK, Danke, dann werde ich das mal versuchen :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz