Senden Sie eine E-Mail mit RTF-Text in Delphi

Ich möchte die folgende Aufgabe ausführen: Konvertieren eines TRichEdit-Inhalts (eines RTF-Textes) in einen E-Mail-Nachrichtentext ohne Klartext.

MAPI unterstützt RTF nicht, aber gibt es eine Möglichkeit, dies mit Indy zu tun?

Das Problem ist, dass RTF RTF ist und E-Mails Klartext oder HTML sind.

Kann jemand einen Trick vorschlagen? Ist es möglich, rtf mit TWebBrowser in Text umzuwandeln?

rundsätzlich ist das Szenario:
1) Benutzer schreibt E-Mails in Delphi-Form,
2) Die E-Mail wird dann mit MAPI an den Standard-E-Mail-Client gesendet (daher wird ein neues E-Mail-Fenster generiert und der Nachrichtentext ist derselbe, den ich in Delphi-Form hatte).
3) Benutzer sendet die E-Mail vom E-Mail-Client

Anyway MAPI akzeptiert nur einfachen Text.

AKTUALISIEREN

Versuchen mit Indy Ich habe dies geschrieben, aber es funktioniert immer noch nicht, da ich eine E-Mail an mein Google Mail-Konto sende. Ich erhalte eine Nachricht mit leerem Text und NONAME gefälschten Anhang.

uses IdMessageBuilder;


procedure SendMail;
var
  MBuilder: TIdMessageBuilderRtf;
  MyMemoryStream: TMemoryStream;
begin
  try
    MBuilder := TIdMessageBuilderRtf.Create;
    MyMemoryStream := TMemoryStream.Create;
    MBuilder.RtfType := idMsgBldrRtfRichtext;
    // RichEdit1 has PlainText set to False
    // at design time I pasted some formatted text onto it
    RichEdit1.Lines.SaveToStream(MyMemoryStream);
    MBuilder.Rtf.LoadFromStream(MyMemoryStream);
    MBuilder.FillMessage(IdMessage1);
    IdSMTP1.Connect;
    IdSMTP1.Send(IdMessage1);
    IdSMTP1.Disconnect;
  finally
    MyMemoryStream.Free;
    MBuilder.Free;
  end;
end;

Antworten auf die Frage(6)

Ihre Antwort auf die Frage