![]() |
Probleme beim Anhang mit Indy10
Guten Tag Delphianer,
ich versende mit Indy 10 Email. Dies klappt auch alles ganz gut. Eigenartig ist aber nur eins, wenn ich eine Anlage, egal von welchem Typ die Anlage ist, beifüge, wird immer eine Anlage "Unbekannte Anlage 00224.htm" mit beigefügt. Weiss jemand wie ich dies Verhalten unterbinden kann?? Folgender Quelltext: .....
Delphi-Quellcode:
--------------------
with TIDText.create(idmsg1.MessageParts, nil) do
begin ContentType := 'text/plain'; Body.Text := redt1.Text; end; with TIDText.create(idmsg1.MessageParts, nil) do begin ContentType := 'text/html'; Body.Text := RtfToHtml('MetaHead', redt1); //Benötigte Funktion um RTF zu HTML umzuwandeln end; idmsg1.ContentType := 'multipart/mixed'; idmsg1.CharSet := 'ISO-8859-1'; idmsg1.From.Text := edtAbsender.Text; idmsg1.Sender.Text := edtAbsender.Text; idmsg1.Recipients.EMailAddresses := edtMailAdresse.Text; idmsg1.Subject := edtBetreff.Text; if advflnmdtAnhang.Text <> '' then TIdAttachmentFile.Create(idmsg1.MessageParts, advflnmdtAnhang.Text); try idsmtp1.Send(idmsg1); idsmtp1.Disconnect(True); except on E:SysUtils.Exception do MessageDlg('Fehler beim Senden: ' + E.Message, mtError, [mbOK], 0); end; Es wird keine Fehlermeldung ausgegeben. Mit Gruß HPB |
AW: Probleme beim Anhang mit Indy10
Moin moin,
schau dir mal folgende Seite an - ich vermute einfach mal, dass etwas mit deinem MessageParts/ParentPart nicht passt. => ![]() Zitat:
|
AW: Probleme beim Anhang mit Indy10
Hallo HPB,
wenn ich das richtig interpretiere, möchtest du den Bodytext sowohl als plaintext, als auch als HTML angeben. Wenn ich deinen Code nicht falsch gelesen habe, setzt du den Content-Type des obersten MIME-Teils auf multipart/mixed, soweit auch OK. Dann hängst du aber direkt unter diesen Multipart/mixed deine beiden Text-Teile (text/plain und text/html) sowie die "echten" Anhänge, also alles auf einer Ebene. Der Mailreader wird vermutlich den ersten text-Teil hernehmen und als Bodytext interpretieren und alles andere als Anhang anzeigen. Wenn du zuerst den html-Teil hinzufügst, wirst du vermutlich einen .txt-Anhang haben - woher soll er auch wissen, dass die beiden Textteile gleichbedeutend sind, du könntest ja auch eine Logdatei oder einen Webseitenentwurf angehängt haben.
Code:
Das kennzeichnen, dass mehrere Teile gleichwertig sind übernimmt der Content-Type 'multipart/related', du müsstest also unter den multipart/mixed-Teil noch ein multipart/alternative einfügen und deine beide Texte dann erst unter diesem einhängen. Dann kann sich der Mailreader aussuchen, welchen er anzeigt.
multipart/mixed
+ text/plain + text/html + application/pdf Die Hierarchie sieht dann so aus:
Code:
Wenn du keine Anhänge hast, kannst du den multipart/mixed weglassen (musst es aber nicht zwingend, so weit ich mich an die RFC erinnere) und gleich idmsg1.ContentType auf 'multipart/related' setzen.
multipart/mixed
+- multipart/related | + text/plain | + text/html + application/pdf Edit: Ok, das steht auch schon im verlinkten Beitrag, hätte ich vielleicht vor dem Posten mal anklicken sollen... Gruß Chris |
AW: Probleme beim Anhang mit Indy10
Zitat:
Vielen Dank für Deinen Hinweis. Ich habe zwischenzeitlich den folgenden Link gefunden auf der alles beschrieben ist: ![]() Mit Gruß HPB |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:52 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