Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy9 - HTML-EMail mit Bildern senden (https://www.delphipraxis.net/118702-indy9-html-email-mit-bildern-senden.html)

Peinhard 13. Aug 2008 09:25


Indy9 - HTML-EMail mit Bildern senden
 
Der Titel sagt es schon: ich versuche - ziemlich erfolglos - mit Indy9 über SMTP eine HTML-Mail mit eingebetteten Bildern zu versenden. Die Suche ergab bislang nur einen Hinweis von 'Jelly', dass das 'etwas komplizierter' wäre. Hätte evt jemand ein Code-Sample, an dem ich mich orientieren könnte?

Deep-Sea 18. Aug 2008 09:41

Re: Indy9 - HTML-EMail mit Bildern senden
 
In der Tat ist das etwas komplizierter. Ich nutze Indy10, darum weiß ich nicht ob es bei Indy9 auch so ist.
Einen kompletten Quelltext kann ich dir leider auch nicht anbieten, bei mir ist alles zu sehr verstrickt.

Du benötigst die Klasse TIdAttachmentFile.
Delphi-Quellcode:
With TIdAttachmentFile.Create(LIdMessage.MessageParts, 'Dateiname mit Pfad') do
begin
  ContentID  := ErzeugeEineGUID; // Eigentlich egal, Hauptsache eindeutig
  ContentType := 'image/jpg'; // Der MIME-Typ der Datei
  FileName   := 'Dateiname';
end;
So ungefähr.
Du musst jedoch src der Bilder im HTML-Dokument ändern, und zwar auf cid:xyz, wobei xyz für die ContentID des Anhangs steht.

Den Text, der sonst in TIdMessage.Body.Text steht, muss mittels der Klasse TIdText - ähnlich TIdAttachmentFile - hinzugefügt werden. Beachte, dass TIdMessage.Body.Text trotzdem nicht leer sein darf, da sonst Fehler auftreten (Beispiel für den Inhalt: This is a multi-part message in MIME format).


So, versuch damit erstmal etwas anzufangen. Evtl. musst du auf Indy10 updaten ... :-D

Peinhard 18. Aug 2008 16:24

Re: Indy9 - HTML-EMail mit Bildern senden
 
Danke, das hilft mir schon mal auf die Sprünge, und deckt sich soweit auch mit meinen 'Beobachtungen'. Nur leider hat die Klasse TIdAttachment in v9 keine Eigenschaft ContentID, TIdAttachmentFile gibt es gar nicht - da wird wohl tatsächlich erstmal ein Update unumgänglich sein...


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz