Einzelnen Beitrag anzeigen

Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.063 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

mht file als html-email versenden.

  Alt 13. Dez 2006, 20:29
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}
  Mit Zitat antworten Zitat