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 11-10-2007
Cecilio Cecilio is offline
Miembro
 
Registrado: ago 2007
Posts: 140
Poder: 17
Cecilio Va por buen camino
Cómo puedo enviar a múltiples destinatarios un email conteniendo HTML

Hola a todos.

Necesito crear un programa que envie un página html guardada en disco a una lista determinada de destinatarios.

el problema es que no se bien ni como empezar.

¿ alguna ayuda de componentes ? o bien un ejemplo simple.

Gracias.
__________________
Saludos Cordiales.
------------------

Responder Con Cita
  #2  
Antiguo 11-10-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Empieza por buscar en estos foros. Encontrarás información seguro, porque es un tema que se ha tratado en más de una ocasión.

PD. Un poco de paciencia al escribir el título de los hilos, por favor.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 11-10-2007
Cecilio Cecilio is offline
Miembro
 
Registrado: ago 2007
Posts: 140
Poder: 17
Cecilio Va por buen camino
Gracias Dec

He buscado en el foro antes de escribir, y tras ver varias páginas no encontré nada que me ayudara.

Gracias tambien por modificarme el título, y disculpas.
__________________
Saludos Cordiales.
------------------

Responder Con Cita
  #4  
Antiguo 11-10-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues es raro. Yo acabo de buscar "enviar email html" y me aparecen varios resultados. Y todavía podría afinarse un poco más buscando "email indy", sólo "enviar email", "enviar correo", etc., etc.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 13-10-2007
Cecilio Cecilio is offline
Miembro
 
Registrado: ago 2007
Posts: 140
Poder: 17
Cecilio Va por buen camino
Hola Dec.

Si, finalmente lo encontré. Lo estaba buscando mal.

Ya tengo una pequeña aplicación que me envía los e-mail a la lista dir. que exporto desde Thuderbird.

Mi problema actual es el siguiente. Quiero enviar un email con un contenido html que tambien he exportado desde Thunderbir, usando una plantilla.

Pero al recibir el emal (enviado con mi aplicación y componentes Indy) ve el código html en vez el email normal.

Estoy buscando en el componente TIdMessage y no veo como modificarlo para que no se vea el código html.

¿ alguna idea ?
__________________
Saludos Cordiales.
------------------

Responder Con Cita
  #6  
Antiguo 13-10-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

El siguiente código lo extraigo de un ejemplo que guardo por aquí con el nombre "Enviar correos HTML con imágenes", más o menos. A ver si te sirve para hacerte una idea. El asunto principal es el "ContentType" del mensaje de correo. Pero, piensa que el cliente de correo que lo reciba ha de admitir el HTML. Por ejemplo, el que yo uso no lo admite, sólo ve texto plano (afortunadamente) y así hay mensajes que ni veo...

Pero fíjate que el código siguiente muestra la que quizá sea la forma adecuada de hacerlo: enviar el correo en texto plano y en HTML, de modo que el cliente pueda elegir, o, por lo menos, no quedarse sin mensaje si no puede leer HTML.

Código Delphi [-]
uses
  idMessage;

procedure TForm1.Button1Click(Sender: TObject);
var
  html: TStrings;
  htmpart, txtpart: TIdText;
  bmppart: TIdAttachment;
  email: TIdMessage;
  filename: string;
begin
  filename := ExtractFilePath(Application.ExeName) + 'us.jpg';

  html := TStringList.Create();
  html.Add('< html >');
  html.Add('< head >');
  html.Add('< /head >');
  html.Add('< body >< h1 >Hello< /h1 >');
  html.Add('< img src="cid:us.jpg" / >');
  html.Add('This is a picture of us!');
  html.Add('< /html >');

  email := TIdMessage.Create(nil);
  email.From.Text := 'jhondoe@jhondoe.com';
  email.Recipients.EMailAddresses := 'jhondoeson@jhondoeson.com';
  email.Subject := 'Hello';
  email.ContentType := 'multipart/mixed';
  email.Body.Assign(html);

  txtpart := TIdText.Create(email.MessageParts);
  txtpart.ContentType := 'text/plain';
  txtpart.Body.Text := '';

  htmpart := TIdText.Create(email.MessageParts, html);
  htmpart.ContentType := 'text/html';

  bmppart := TIdAttachment.Create(email.MessageParts, filename);
  bmppart.ContentType := 'image/jpeg';
  bmppart.FileIsTempFile := true;
  bmppart.ContentDisposition := 'inline';
  bmppart.ExtraHeaders.Values['content-id'] := 'us.jpg';
  bmppart.DisplayName := 'us.jpg';

  try
    idSMTP.Connect();
    try
      idSMTP.Send(email);
      ShowMessage('Sent');
    except
      on E: Exception do
        ShowMessage('Failed: ' + E.Message);
    end;
  finally
    idSMTP.Disconnect();
    email.Free();
    html.Free();
  end;
end;

Nota: Fíjate que el HTML que aparece en el código tiene etiquetas "con espacios". Esto es sólo para que se vea bien el código en los foros, en realidad las etiquetas no llevan espacios.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 13-10-2007 a las 13:10:47.
Responder Con Cita
  #7  
Antiguo 29-09-2008
smessina smessina is offline
Miembro
 
Registrado: ene 2006
Posts: 51
Poder: 19
smessina Va por buen camino
mail en formato hmtl con imagen en outlook

Hola perdon por retrotraerlos a este post, pero necesito mandar un mail con imagenes, para lo que entiendo que debo mandarlo en formato html, lo que dice este post me sirvio en su momento para mandarlo con las indy pero yo necesito mandarlo por outlook 2003, y no me queda claro como se haria, le pongo el codigo que yo uso
Código Delphi [-]
        html := TStringList.Create();
        html.Add('');
        html.Add('');
        html.Add('');
        html.Add('

Lo que sea

'
); html.Add(''); html.Add(''); Outlook := CreateOleObject('Outlook.Application'); miMail := Outlook.CreateItem(olMailItem); miMail.Recipients.Add('smessina@dcom.com.ar'); miMail.Subject := 'Mensaje de Prueba'; // alternatively send an HTML email (not in Outlook 97) miMail.HTMLBody := html.Text; miMail.Attachments.Add(camino+'imagen.jpg'); miMail.Send;

pero me llega el mail sin la imagen por lo que creo que me faltaria definir esta parte :
Código Delphi [-]
  htmpart := TIdText.Create(email.MessageParts, html);
  htmpart.ContentType := 'text/html';

  bmppart := TIdAttachment.Create(email.MessageParts, filename);
  bmppart.ContentType := 'image/jpeg';
  bmppart.FileIsTempFile := true;
  bmppart.ContentDisposition := 'inline';
  bmppart.ExtraHeaders.Values['content-id'] := 'us.jpg';

  bmppart.DisplayName := 'us.jpg';

pero no se como aplicarlo a mi codigo para poder mandarlo por outlook.


Gracias por su tiempo.

Santiago.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Enviar email con Cuerpo HTML VictorPenyalver Internet 5 26-07-2007 23:02:24
Incluir html como diseño fondo al enviar email CORBATIN Internet 7 27-06-2007 22:51:39
¿Por qué no puedo enviar el Email? Turboleta Internet 4 05-02-2006 23:03:41
como puedo hacer para enviar un quick report por email?? merlin Internet 1 14-12-2003 20:24:17
como puedo hacer para enviar un quick report por email?? merlin Impresión 4 05-12-2003 18:06:58


La franja horaria es GMT +2. Ahora son las 17:13:27.


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