Hallo Zusammen,
über die Function
SaveToMHT convertiere ich eine
HTML-Seite in ein mht file
names email.eml. Beim doppelklick auf dieses File öffnet OutlookExpress
und zeigt mit das erzeugte
HTML-Email wie erwartet an.
Jetzt geht es um das verdenden dieses Datei. Dazu verwende ich die Procedure
SendEmail
Die email kommt zwar an, jedoch wir der
HTML Inhalt nicht richtig angezeigt.
Möglicherweise darf ich das File nicht als Body versenden. Aber wie sonst?
Hat jemand eine Idee wie ich das erzeugt mht file versenden kann?
Gruß Kostas
Delphi-Quellcode:
{----------------------------------------------------------------}
{}function SaveToMHT(
const AUrl:
String;
const AFileName: string='
email';
AShowErrorMessage: Boolean = true): Boolean;
{----------------------------------------------------------------}
var
oMSG, oConfig: OleVariant;
sFileName, sPath:
string;
Retvar: Boolean;
begin
sFileName := ChangeFileExt(AFileName, '
.eml');
sPath := ExtractFilePath(AUrl);
DeleteFile(PAnsiChar(sPath + sFileName));
try
oConfig := CreateOleObject('
CDO.Configuration');
oMSG := CreateOleObject('
CDO.Message');
oMSG.Configuration := oConfig;
oMSG.CreateMHTMLBody(AUrl);
oMSG.GetStream.SaveToFile(sPath + sFileName);
Retvar := True;
except
on E:
Exception do
begin
if AShowErrorMessage
then MessageDlg(E.
Message, mtError, [mbOK], 0);
Retvar := False;
end;
end;
oMSG := VarNull;
oConfig := VarNull;
Result := Retvar;
end;
{SaveToMHT}
Delphi-Quellcode:
{-------------------------------------------}
{}procedure TForm1.SendEmail(emlFile:
String);
{-------------------------------------------}
var Email: TIdMessage;
IdText:TIdText;
begin
Email := TIdMessage.Create(
nil);
Email.Recipients.Clear;
Email.Recipients.Add.Address :=
Email.from.Text :=
Email.From.
Name :=
Email.From.Address :=
Email.Subject := '
mht HTML Email';
email.Date := Now;
with TIdText.Create(email.MessageParts,
nil)
do
begin
Body.Text := '
plantext nachticht';
Email.CharSet := '
iso-8859-1';
ContentTransfer := '
quoted-printable';
ContentType := '
text/plain';
//ParentPart := -1;
end;
with TIdText.Create(email.MessageParts,
nil)
do
begin
Body.LoadFromFile( emlFile );
Email.CharSet := '
iso-8859-1';
ContentTransfer := '
quoted-printable';
ContentType := '
text/html';
//ParentPart := -1;
end;
SMTP.Connect;
try
SMTP.Send(Email);
SMTP.Disconnect;
except
SMTP.Disconnect;
end;
showmessage('
Mail wurde verschickt');
end;
{SendEmail}