Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy10 / TIdMessage speichern und weiterleiten? (https://www.delphipraxis.net/175811-indy10-tidmessage-speichern-und-weiterleiten.html)

Schucki 21. Jul 2013 01:30

Indy10 / TIdMessage speichern und weiterleiten?
 
Hallo!

Ich habe mal eine Frage an die Profis die sich mit den Indy TIdMessage Objekten gut auskenne. Ich habe einen eigenen eMail Server mit den Indys geschrieben und kann auch prima eMails damit speichern. Im Kern passiert das speichern der empfangenden Nachricht im Ereigniss MsgReceive vom TIdSMTPServer.

Hier speichere ich mir den Stream AMsg auf Platte...

Delphi-Quellcode:
procedure TfrmMain.smtpMsgReceive(ASender: TIdSMTPServerContext;
                                  AMsg: TStream;
                                  var LAction: TIdDataReply);

...
Amsg.Position:=0;
Amsg.SaveToFile('new_msg.bin');
...
Soweit, so gut, nur ich schaffe es nicht den Inhalt auch wirklich wieder auszusenden.

habe es so versucht... klappt leider nicht, TIdMessage ändert den Inhalt irgendwie ab und dann kommt die Mail zwar an, Adressen und Subject ist zu sehen, der eigentliche Inhalt aber nicht :-(

Delphi-Quellcode:
...
msW.LaodFromFile(new_msg.bin');
msgSmtp.LoadFromStream(msW);
smtpc.Connect;
smtpc.Send(msgSmtp);
...
Im Log sieht man das es ein "multi-part message in MIME format" file ist und auch der Server im Internet bestätigt den Empfang ordnungsgemäß doch leider ist es wenn man die eMail dann empfängt so das der Inhalt nicht zu sehen ist. :-(


Hat irgend jemand eine Idee wie man das nun richtig macht?
Wie kann man eine eMail die von Indy selbst als Stream Empfangen wurde wieder in einem Stream laden und den via SMTP aussenden so das die eMail praktisch unverändert weitergeleitet wird?

Indy arbeitet ja mit TStreams, ist TMemoryStream und TFielStream kompatibel???

Danke für jede Hilfe!!!

Grüße Frank

Gerd01 22. Jul 2013 07:50

AW: Indy10 / TIdMessage speichern und weiterleiten?
 
Les mal hier


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 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