Hallo!
Ich möchte erreichen, dass eine E-Mail eins-zu-eins weitergeschickt wird.
Problem: Eine von Thunderbird verschickte Mail (mit Datei-Ahnang) empfange ich mit folgendem Code und leite sie weiter (hier mal der wesentliche Code):
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TForm1.SMTPServerReceiveMessageParsed(ASender: TIdCommand; var AMsg: TIdMessage; RCPT: TIdEMailAddressList; var CustomError: String);
var c: integer; attFileName: string; randNumber: integer; IdSMTP: TIdSMTP; begin
ForwardToForeignServer(AMsg);
end; |
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TForm1.ForwardToForeignServer(AMsg: TIdMessage); var IdSMTP: TIdSMTP;
begin AMsg.NoEncode := true; IdSMTP := TIdSMTP.Create(nil); IdSMTP.Host := '192.168.0.138'; IdSMTP.Port := 25; IdSMTP.Username := 'username'; IdSMTP.OnDisconnected := IdSMTPDisconnected; IdSMTP.Connect; try IdSMTP.Send(AMsg); finally IdSMTP.Disconnect; FreeAndNil(IdSMTP); end;
end; |
Die E-Mail wird verschickt, allerdings ohne Anhang. Die Indy-Hilfe sagt, dass
TIdMessage.NoEncode := true dazu führt, dass Anhänge nicht mitgeschickt werden: "Note: When NoEncode is True, other message parts for the message are not sent by the message client."
Wenn ich NoEncode auf false setze, ist der Anhang dabei, aber vermutlich in codierter Form, so wie der Inhalt der Datei dann aussieht.
Meine Frage: Wie kann ich eine mit TIdSMTPServer empfangene E-Mail + Dateianhang eins-zu-eins weiterleiten?
Viele Grüße
Dietmar