![]() |
Indy IdMessage und Message ID?
Hallo,
ich möchte gerne zu meinen eMails eine MSG-ID generieren, das klappt auch alles doch wenn ich die IdMsg als File auf die Platte speichern möchte, finde ich keinen Eintrag. Warum nicht, habe ich einen Schritt vergessen? var genMsg = IdMessage; genMsg.Clear; genMsg.Date:=Now; genMsg.From.Address:=ADR_FROM; genMsg.Recipients.EMailAddresses:=ADR_TO; genMsg.Subject:='Testmail...'; genMsg.UID:='wh'+FormatDateTime('yymmddssnnhh', now)+'A3F4E4local'; genMsg.Body.Text:=memWelcome.Text; genMsg.Body.Text:=memMail.Text; genMsg.SaveToFile('out.txt'); out.txt Inhalt... From: "test@localhost.net" <test@localhost.net> Subject: Tstmail... To: user@localhost.net Date: Thu, 4 Sep 2008 03:17:32 +0200 Hello Test hier und da... . Ich dachte ich bekomme auch den Eintrag: Message-ID: <> Hat jemand einen Tip? :gruebel: Gruß Frank |
Re: Indy IdMessage und Message ID?
Zitat:
|
Re: Indy IdMessage und Message ID?
Also ich dachte ich könnte die IdMessage Komponente zum erstellen von eMails verwenden.
In der eMail also wenn man sie als Datei speichert sollten dann die verschiedenen Einträge auftauchen. Doch das passiert nicht bei allem. genMsg.Date:=Now; erzeugt die Zeile: Date: Thu, 4 Sep 2008 03:17:32 +0200 genMsg.From.Address:=ADR_FROM; erzeugt die Zeile: From: "test@localhost.net" <test@localhost.net> genMsg.Recipients.EMailAddresses:=ADR_TO; erzeugt die Zeile: To: user@localhost.net genMsg.Subject:='Testmail...'; erzeugt die Zeile: Subject: Tstmail... Nur diese hier funktioniert so nicht. :-( genMsg.UID:='wh'+FormatDateTime('yymmddssnnhh', now)+'A3F4E4local'; Sollte eine Zeile wie: Message-ID: <wh11223344556677A3F4E4local> Erzeugen aber Fehlanzeige... :-( :-( Gruß Frank |
Re: Indy IdMessage und Message ID?
Die "Message-ID" wird von IdMessage nicht selbst erzeugt. Man muß es einfach selbst machen.
Falls man jedoch eine Nachricht an einen Mailserver sendet und es ist der Header "Message-ID" nicht vorhanden, dann wird dieser durch den Server erstellt. Hier mein Beispiel:
Delphi-Quellcode:
Am Besten man erzeugt gleich ein gültige Message-ID, welche auch ein "@" enthalten sollte.
Var
IdMessage : TIdMessage; MID: String; begin MID:='wh'+FormatDateTime('yymmddssnnhh', now)+'A3F4E4@local'; IdMessage := TIdMessage.Create(Nil); IdMessage.Date := now; idMessage.From.Name:='Absender'; idMessage.From.Address:='user@example.com'; idMessage.Recipients.EMailAddresses:='test1@example.com'; idMessage.Subject:='Testnachricht'; idMessage.Body.Add('TEXT_1'); idMessage.Body.Add('Text_2'); idMessage.AddHeader('Message-ID: <' + MID + '>'); idMessage.SaveToFile('C:\mail.txt'); end; Ich selbst verwende Units aus Indy ungern und setze lieber auf Synapse. Siehe: ![]() MfG Remo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 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