Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-02-2005
Avatar de JuanBCT
JuanBCT JuanBCT is offline
Miembro
 
Registrado: ago 2004
Ubicación: Campana, Argentina
Posts: 57
Poder: 20
JuanBCT Va por buen camino
Acerca de enviar texto con formato...

Hola! Después de mucho probar y averiguar; logré enviar un correo electrónico desde mi aplicación (cosa q explico acá). Esto funciona muy bien cuando se manda texto plano, pero los problemas comienzan a surgir al querer mandar texto con formato... el cuerpo de mi mensaje es un TDbRichEdit al cual le puedo cambiar tamaño y tipo de letra. ¿Alguien sabría como se hace para convertir este texto en un formato q guarde esas propiedades?

Leí en algún lugar que los mails como los que leemos en el Outlook están en formato HTML, pero hice la prueba de mandar el código completo de una página a mi cuenta y no lo interpretó, me mostró el código tal cual lo mandé. También leí en un hilo la posibilidad de mandar un .html como adjunto... el tema es que, si bien en webmails como el de yahoo uno abre el mensaje y vé inmediatamente el contenido del .html; en Outlook Express habría que clickear el icono de Adjunto, abrirlo... en fin.

Voy a estar muy agradecido si alguien me puede ayudar con esto, saludos!!

Última edición por JuanBCT fecha: 24-02-2005 a las 13:40:14.
Responder Con Cita
  #2  
Antiguo 25-02-2005
Avatar de JuanBCT
JuanBCT JuanBCT is offline
Miembro
 
Registrado: ago 2004
Ubicación: Campana, Argentina
Posts: 57
Poder: 20
JuanBCT Va por buen camino
Post

Se q esto se ha preguntado antes; pero busco y busco y no encuentro nada q al menos me dé una pauta de como hacerlo... no habrá algún alma caritativa q eche un poco de luz sobre esto?
Responder Con Cita
  #3  
Antiguo 25-02-2005
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 22
marto Va por buen camino
Wop!

Respecto a cómo mantener el formato... ni idea. Respecto a lo del HTML, para que cualquier cliente de correo lo interprete correctamente tienes que indicar que es html en el content-type del mail.
__________________
E pur si muove
Responder Con Cita
  #4  
Antiguo 04-03-2005
Avatar de JuanBCT
JuanBCT JuanBCT is offline
Miembro
 
Registrado: ago 2004
Ubicación: Campana, Argentina
Posts: 57
Poder: 20
JuanBCT Va por buen camino
Hola Marto, gracias por tu respuesta... al menos en mi versión de Indy en ContentType hay que poner 'text/html'; creo q también habría q especificar
Código Delphi [-]
IdMessage1.IsEncoded:=true
...
Lo probé copiando un código HTML y funciona perfecto... ahora bien, no queda otra solución que convertir yo el rtf a HTML; o habrá algún componente tipo "HTMLEdit"?
Responder Con Cita
  #5  
Antiguo 04-03-2005
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 22
marto Va por buen camino
Mirate las Jedi, en la paleta Jv Internet trae componentes para trabajar con HTML, pero no sé la potencia que tienen
__________________
E pur si muove
Responder Con Cita
  #6  
Antiguo 07-03-2005
Avatar de JuanBCT
JuanBCT JuanBCT is offline
Miembro
 
Registrado: ago 2004
Ubicación: Campana, Argentina
Posts: 57
Poder: 20
JuanBCT Va por buen camino
Lo logré!!

Finalmente logré enviar el mensaje; explico acá lo que hice por si le sirva a alguien...

1) Guardo el contenido del cuerpo en un archivo RTF temporal
Código Delphi [-]
 Datamodule1.MailsCuerpo_Mail.SaveToFile('C:\WINDOWS\EMKTMP.RTF');

2) Convierto el RTF en HTML (lo hice con una rutina freeware q encontré en Torry.net)

3) Leo el HTML y lo cargo en un RichEdit invisible:
Código Delphi [-]
 try
 Archiv.LoadFromFile('C:\WINDOWS\EMKTMP.HTM');
  for A:=0 to Archiv.Count -1 do
   begin
     SS:=archiv.Strings[A];
     richedit1.Lines.Add(SS);
   end;
 finally
    Archiv.Free;
 end;

4) Mando el mail, y en el Body le asigno el texto del RichEdit invisible:
Código Delphi [-]
 //Seteando propiedades del SMTP
 IdSMTP1.Host:=DbEdit6.Text;
 IdSMTP1.Port:=25;
 //Seteando propiedades del mensaje
 IdMessage1.From.Address:=DbEdit7.Text;
 IdMessage1.Subject:=DbEdit5.Text;
 IdMessage1.Body.Text:=RichEdit1.Text;
 //Envío el mensaje
 try
   try
     IdSMTP1.Connect(1000);
     IdSMTP1.Send(IdMessage1);
     except on E:Exception do
       ShowMessage ('Error. Chequee las direcciones en "Configuración de cuenta".');
     end;
   finally
     if IdSMTP1.Connected then IdSMTP1.Disconnect;
     ShowMessage ('Mensaje enviado.');
   end;

Listo!
Responder Con Cita
  #7  
Antiguo 07-03-2005
Avatar de JuanBCT
JuanBCT JuanBCT is offline
Miembro
 
Registrado: ago 2004
Ubicación: Campana, Argentina
Posts: 57
Poder: 20
JuanBCT Va por buen camino
Perdón, en 3), antes de Archiv.Free; iría esto:

richedit1.Lines.Add('');
richedit1.Lines.Add('</BODY>');
richedit1.Lines.Add('</HTML>');
Responder Con Cita
  #8  
Antiguo 30-09-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
a mi me sirvió, Gracias
__________________

Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 04:48:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi