AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Probleme beim Anhang mit Indy10
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme beim Anhang mit Indy10

Ein Thema von HPB · begonnen am 10. Aug 2012 · letzter Beitrag vom 13. Aug 2012
Antwort Antwort
HPB

Registriert seit: 2. Jun 2008
365 Beiträge
 
Delphi XE7 Professional
 
#1

Probleme beim Anhang mit Indy10

  Alt 10. Aug 2012, 15:55
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
  Mit Zitat antworten Zitat
Benutzerbild von x000x
x000x

Registriert seit: 21. Jan 2004
Ort: Bei Hamburg
308 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Probleme beim Anhang mit Indy10

  Alt 10. Aug 2012, 17:46
Moin moin,

schau dir mal folgende Seite an - ich vermute einfach mal, dass etwas mit deinem MessageParts/ParentPart nicht passt. => Messages

Zitat von RLebeau:
Every message part has a ParentPart property that is set to -1 by default. This is an index to the part that is the PARENT of the current part. This is for nesting parts underneath each other, where -1 means that a part is not nested another another part but is instead located at the top-level of the message. Because of this nesting support, you end up with a variety of different setups depending on what exactly you want to send: ...
Peter
-= Gruss Peter =-
-= alias x000x =-
  Mit Zitat antworten Zitat
christophspaeth

Registriert seit: 7. Mär 2008
73 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Probleme beim Anhang mit Indy10

  Alt 13. Aug 2012, 11:51
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:
multipart/mixed
+ text/plain
+ text/html
+ application/pdf
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.
Die Hierarchie sieht dann so aus:
Code:
multipart/mixed
+- multipart/related
|  + text/plain
|  + text/html
+ application/pdf
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.

Edit: Ok, das steht auch schon im verlinkten Beitrag, hätte ich vielleicht vor dem Posten mal anklicken sollen...

Gruß
Chris
Christoph Späth

Geändert von christophspaeth (13. Aug 2012 um 11:54 Uhr)
  Mit Zitat antworten Zitat
HPB

Registriert seit: 2. Jun 2008
365 Beiträge
 
Delphi XE7 Professional
 
#4

AW: Probleme beim Anhang mit Indy10

  Alt 13. Aug 2012, 16:54
Hallo HPB,

wenn ich das richtig interpretiere, möchtest du den Bodytext sowohl als plaintext, als auch als HTML angeben.
...

Gruß
Chris
Guten Tag Chris,
Vielen Dank für Deinen Hinweis.
Ich habe zwischenzeitlich den folgenden Link gefunden auf der alles beschrieben ist:
http://http://www.indyproject.org/so...8_17_A.EN.aspx
Mit Gruß
HPB
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:40 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