Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi mht file als html-email versenden. (https://www.delphipraxis.net/82471-mht-file-als-html-email-versenden.html)

Kostas 13. Dez 2006 20:29


mht file als html-email versenden.
 
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}


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz