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:
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;
Am Besten man erzeugt gleich ein gültige Message-ID, welche auch ein "@" enthalten sollte.
Ich selbst verwende Units aus
Indy ungern und setze lieber auf Synapse.
Siehe:
http://synapse.ararat.cz Und hier die
Unit "mimemess".
MfG
Remo