Hi Leute,
ich versuche derzeit eine function zu schreiben, die mir eine E-Mail mit der ipmSMIME Komponente Signiert und speichert.
Delphi-Quellcode:
function TVersendenFormular.Signieren():integer;
var
emailstringlist, emailheader: tstringlist;
begin
result := 1;
form10.ipmSMIME1.CertStore := inidatei.ReadString('Zertifikate','Store','');
form10.ipmSMIME1.CertSubject := inidatei.readstring('Zertifikate','Subject','');
idmessage1.SaveToFile('d:\test.eml');
emailheader := tstringlist.create;
emailstringlist := tstringlist.create;
emailstringlist.loadfromfile('d:\test.eml');
emailheader.Add('From: "*@*.*" <*@*.*>');
emailheader.Add('Subject: *');
emailheader.Add('To: [email]editest1@arcmind.com[/email]');
emailheader.add('Date: Wed, 14 Oct 2009 14:31:31 +0000');
emailstringlist.text := copy(emailstringlist.text,pos(#13#10#13#10,emailstringlist.text),length(emailstringlist.text));
form10.ipmSMIME1.Message := emailstringlist.text;
form10.ipmSMIME1.Sign;
emailstringlist.clear;
emailstringlist.text := form10.ipmSMIME1.Message;
emailheader.add(form10.ipmSMIME1.MessageHeadersString);
emailheader.add('');
emailheader.text := emailheader.text + emailstringlist.text;
emailheader.savetofile('d:\test2234.eml');
end;
Soweit klappt das auch.
Bild1.jpg ist dabei ein bild von der test.eml
Also die unsignierte E-Mail.
Bild2.jpg ist die Signierte E-Mail.
Allerdings als solche nicht zu gebrauchen, alles was nach dem Body kommt ebenfalls in den Body schreibt.
Er fügt mir beim "form10.ipmSMIME1.Sign" folgendes in den Text ein:
Delphi-Quellcode:
----boundary.ipw.20091041514122.3639199161
Content-Transfer-Encoding: 7bit
Content-type: text/plain; charset="iso-8859-1"
Entferne ich das, ist der Anhang zwar richtig, aber die E-Mail gilt als gefälscht.
was kann man hier machen?
Danke