RichEdit mesmo formato para envio no email

Delphi

29/10/2010

Peguei um editor de texto e adaptei no meu código,
Criei uns botoes de negrito, italico, sublinhado, tamanho de fonte, etc.
e estou usando o componente TRichEdit, para fazer essa configuracao,
e por exemplo: TESTES(coloquei em negrito)
quando  eu envio o email: no webmail aparece normal sem negrito
gostaria de pegar as mesmas configuração de texto que fiz no RkichEdit
segue o codigo abaixo:                                 With IdMessage1 do
                                Begin
                                  Subject      :=ed_assunto.Text;
                                  From.Address :=from_mail;
                                  Recipients.EMailAddresses:=ed_para.Text;
                                  body         :=TRichEdit.Lines;
                                End;
Evandro Abreu

Evandro Abreu

Curtidas 0

Respostas

Marcelo Diniz

Marcelo Diniz

29/10/2010


Peguei um editor de texto e adaptei no meu código,
Criei uns botoes de negrito, italico, sublinhado, tamanho de fonte, etc.
e estou usando o componente TRichEdit, para fazer essa configuracao,
e por exemplo:
TESTES(coloquei em negrito)

quando  eu envio o email: no webmail aparece normal sem negrito
gostaria de pegar as mesmas configuração de texto que fiz no RkichEdit

segue o codigo abaixo:
                                
 

Tente isso abaixo
var

    ms: TMemoryStream;begin

   ms := TMemoryStream.Create; try

      RichEdit1.Lines.SaveToStream(ms) ; ms.Seek(0, soFromBeginning) ;
 With IdMessage1 do   Begin
       Subject      :=ed_assunto.Text;
       From.Address :=from_mail;
       Recipients.EMailAddresses:=ed_para.Text;
       body         := ms;
  End;
finallyms.Free;end; 
end; 
GOSTEI 0
Marcelo Diniz

Marcelo Diniz

29/10/2010

Código correto é este abaixo:
var    ms: TMemoryStream;begin
ms := TMemoryStream.Create;try
 redt1.Lines.SaveToStream(ms) ; ms.Seek(0, soFromBeginning) ;
 With IdMessage1 do   Begin       Subject      :=ed_assunto.Text;       From.Address :=from_mail;       Recipients.EMailAddresses:=ed_para.Text;       body.LoadFromStream(ms);  End;
finallyms.Free;end;
GOSTEI 0
Bruno Batista

Bruno Batista

29/10/2010

Boa tarde,

amigo sei que não é para te ajudar, mas estou precisando implementar essa mesma funcionalidade sua.

Um Editor de texto, com as seguintes funcionalidades.

Numeradores
Parágrafo
Negrito
Itálico
Sublinhado
tabulação.

Já consegui fazer o Negrito, Itálico, Sublinhado, Marcadores.

gostaria de saber se você ou outra pessoa pode me ajudar.


GOSTEI 0
Evandro Abreu

Evandro Abreu

29/10/2010

var
   ms: TMemoryStream; begin
try
begin
with IdSMTP1 do
begin ms := TMemoryStream.Create;  Re_Editor.Lines.SaveToStream(ms) ;
 ms.Seek(0, soFromBeginning) ; try       with IdMessage1 do
      begin
              Clear;
              From.Address := GetParametros('Origememail'); // Email do remetente
              From.Name := 'SeuNome'; // Nome do remetente
              Subject := 'Novidades!'; // Assunto do email
              Recipients.Clear;
              Recipients.EMailAddresses := ed_para.Text;// aqui você coloca o(s) destinatários(s)
              Priority := mpHigh; // Trata a prioridade da mensagem - Opções: mpHigh | mpNormal | mpLow        //
               ody.LoadFromStream(ms);
      end;         finally
        ms.Free;
        end; end;
Tento abrir o meu webmail  e esta saindo assim:     {\rtf1\ansi\ansicpg1252\deff0\deflang1046{\fonttbl{\f0\fnil\fcharset0 Tahoma;}}
{\colortbl ;\red255\green0\blue0;}
\viewkind4\uc1\pard\cf1\f0\fs48 TESTANDO O ENVIO\cf0\fs16\par
}      
GOSTEI 0
Marcelo Diniz

Marcelo Diniz

29/10/2010


[/code]
Tente isso abaixo:
var
   strStream: TStringStream;
begin
   strStream := TStringStream.Create('') ;
   try
     Re_Editor.PlainText := False;
     Re_Editor.Lines.SaveToStream(strStream) ;
             with IdMessage1 do      begin
              Clear;
              From.Address := GetParametros('Origememail'); // Email do remetente
              From.Name := 'SeuNome'; // Nome do remetente
              Subject := 'Novidades!'; // Assunto do email
              Recipients.Clear;
              Recipients.EMailAddresses := ed_para.Text;// aqui você coloca o(s) destinatários(s)
              Priority := mpHigh; // Trata a prioridade da mensagem - Opções: mpHigh | mpNormal | mpLow        //
              Body.add(strStream.DataString);
      end;   finally
     strStream.Free
   

end;
end;

GOSTEI 0
Marcelo Diniz

Marcelo Diniz

29/10/2010

Eu acho que terá que usar a opção "ContentType" do idMessage
IdMessage.ContentType := 'text/html';e depois
IdMessage.Body.add(strStream.DataString);


GOSTEI 0
Evandro Abreu

Evandro Abreu

29/10/2010

var
   ms: TMemoryStream;
   xAnexo:integer; begin
try
Memo1.Lines.Add(MontaCabecalho);
Memo1.Lines.Add(RICH_HTML(Re_Editor));
Memo1.Lines.Add(MontaRodape);
begin
with IdSMTP1 do
begin  ms := TMemoryStream.Create;
 Re_Editor.PlainText := False;
 Re_Editor.Lines.SaveToStream(ms) ; try
      with IdMessage1 do
      begin
              Clear;
              From.Address := GetParametros('Origememail'); // Email do remetente
              From.Name := 'SeuNome'; // Nome do remetente
              Subject := 'Novidades!'; // Assunto do email
              Recipients.Clear;
              Recipients.EMailAddresses := ed_para.Text;// aqui você coloca o(s) destinatários(s)
              Priority := mpHigh; // Trata a prioridade da mensagem - Opções: mpHigh | mpNormal | mpLow        //
              body         :=Memo1.Lines;
              IdMessage1.ContentType := 'text/html';
      end;         finally
        ms.Free;
        end; end;
try
begin                                 for xAnexo := 0 to ListBox1.Items.Count-1 do
                                   IdAttachmentFile.TIdAttachmentFile.Create(IdMessage1.MessageParts,TFileName(ListBox1.Items[xAnexo]));               IdSMTP1.Host:=  GetParametros('EnderecoIp');
              IdSMTP1.Username :=GetParametros('Username');
              IdSMTP1.Password :=GetParametros('Password');               IdSMTP1.Connect;               IdSMTP1.Send(IdMessage1);  // Envia o email com os dados
              Application.MessageBox('E-mail enviado com Sucesso!', 'Atenção' , MB_OK);
end
except
end;
              IdSMTP1.Disconnect;
end;
except
on Exception do
              Application.MessageBox('Não foi possível a conexão com o Servidor de E-mail', 'Atenção', MB_OK);
end;
A rotina deu certo, porem quando coloquei a linha que esta em vermelho da o erro abaixo. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// This is a multi-part message in MIME format --omDoVhE3Yy=_wI5fLQXgX25lPTXRtZn1U4 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Content-Disposition: inline =20 =20 =20  =20
22121212
Atenciosamente, =20 =20 Sup= orte=20 MMartan
=20 = =20 suporte@mmartan.com.br
=20 Tecnologia=20 da Informa=E7=E3o
=20 www.mmartan.com.br
= =20 =20= Tel: (19) 2102-2282 =20 =20 =20 --omDoVhE3Yy=_wI5fLQXgX25lPTXRtZn1U4 Content-Type: application/octet-stream; name="FichaTecnica_Nro_1-2010.PDF" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="FichaTecnica_Nro_1-2010.PDF" /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
GOSTEI 0
POSTAR