Enviar un correo electrónico con texto rtf en delphi

Me gustaría realizar la siguiente tarea: convertir un contenido de TRichEdit (un texto rtf) en un cuerpo de mensaje de correo electrónico de texto no plano.

MAPI no admite rtf, pero ¿hay alguna manera de hacerlo tal vez con Indy?

El problema es que rtf es rtf y los correos electrónicos son texto sin formato o HTML.

¿Alguien puede sugerir un truco? ¿Es posible convertir rtf a texto usando TWebBrowser?

Básicamente el escenario es:
1) El usuario escribe un correo electrónico en forma delphi,
2) El correo electrónico se envía con MAPI al cliente de correo predeterminado (por lo que se genera una nueva ventana de correo electrónico y el cuerpo del mensaje es el mismo que tenía en forma de Delphi)
3) El usuario envía el correo electrónico desde el cliente de correo

De todos modos, MAPI acepta solo texto sin formato.

ACTUALIZAR:

Al intentar con Indy, escribí esto, pero aún así no funciona, ya que lo envío a mi cuenta de Gmail y recibo un mensaje con el cuerpo vacío y el archivo adjunto falso NONAME.

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;

Respuestas a la pregunta(3)

Su respuesta a la pregunta