Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Enviar correo con Delphi 2007 (https://www.clubdelphi.com/foros/showthread.php?t=58390)

newtron 18-07-2008 18:57:29

Enviar correo con Delphi 2007
 
Hola, estoy quiero hacer un módulo para enviar correos electrónicos con delphi 2007 pero no veo en los Indy Clients que trae delphi 2007 ningún componente para hacerlo.

¿Alguien sabe qué componente usar? porque no puedo usar los Indy para versiones anteriores de Delphi, chocan con los que trae delphi 2007.

Gracias y un saludo

white_zombie 18-07-2008 20:05:26

Hola, no he usado delphi 2007, yo uso el delphi 7 pero el componente para enviar correos es el idsmtp que debería de estar dentro de indy clients.

Como desconozco delphi 2007 no se si el componente esta preistalado en la barra de componentes, siempre puedes reinstalar los indy descargandolos de su web http://www.indyproject.org

Un saludo.

GonzaloX 18-07-2008 22:51:07

Ayuda
 
Hola estoy intentando desarrollar una aplicacion que me permita enviar emails con formato desde delphi, y necesito ayuda lo unico q se en este momento es q podria utiizar un servidor smtp pero necesito mandar el correo con formato de html ya que el mismo debe contener imagenes, espero puedan guiarme gracias

white_zombie 19-07-2008 01:14:37

Hola, una vez hice la prueba de enviar correos con html y me funciono, este es código:

Código Delphi [-]
var
  html: TStrings;
  partehtml: TIdText;
  partettxt:TIdText;
  partejpg: TIdAttachment;
  email: TIdMessage;
  filename: string;
begin
  filename := ExtractFilePath(Application.ExeName) + 'logo.jpg';

  html := TStringList.Create();
  html.Add('');
  html.Add('');
  html.Add('');
  html.Add('

Prueba

'
); html.Add(''); html.Add('Ahi va la FOTO!'); html.Add(''); email := TIdMessage.Create(nil); email.From.Text := 'yo@loquesea.com'; email.Recipients.EMailAddresses := 'yo@loquesea.com'; email.Subject := 'PRUEBA html'; email.ContentType := 'multipart/mixed'; email.Body.Assign(html); partettxt := TIdText.Create(email.MessageParts); partettxt.ContentType := 'text/plain'; partettxt.Body.Text := ''; partehtml := TIdText.Create(email.MessageParts, html); partehtml.ContentType := 'text/html'; partejpg := TIdAttachment.Create(email.MessageParts, filename); partejpg.ContentType := 'image/jpeg'; partejpg.FileIsTempFile := true; partejpg.ContentDisposition := 'inline'; partejpg.ExtraHeaders.Values['content-id'] := 'logo.jpg'; partejpg.DisplayName := 'logo.jpg'; with IdSMTP do begin // Configuro autentificación. AuthenticationType := atLogin; Username := 'Username'; // Nombre del usuario Password := 'Password'; // la password // Configuro el servidor SMTP. Host := 'Host'; Port := 25; try Connect; try // Envio el mensaje. Send(email); finally Disconnect; end; showMessage('Enviado Correctamente'); except // Capturo algunas excepciones que pueden ocurrir ON E: EIdProtocolReplyError do begin showmessage('No se ha podido enviar el email.' + #13 + 'Incorrecto el email o el usuario o la password.'); end; on E: EFOpenError do begin showMessage('No se ha podido enviar el email.' + #13 + 'Fichero Adjunto desconocido o erróneo.'); end; on E: EIdSocketError do begin showmessage('No se ha podido enviar el email.'+ #13 + 'Host desconocido o incorrecto.'); end; else begin showMessage('Fallo en el envio de email'); raise; end; end; if connected then IdSMTP.Disconnect; end; end;

Espero que te sirva de ayuda.

Un Saludo.

white_zombie 19-07-2008 01:17:51

La parte de la variable html se ve mal al poner el código con las etiquetas de código delphi:

Lo correcto seria esto:

html := TStringList.Create();
html.Add('<html>');
html.Add('<head>');
html.Add('</head>');
html.Add('<body><h1>Prueba</h1>');
html.Add('<img src="cid:logo.jpg" />');
html.Add('Ahi va la FOTO!</body>');
html.Add('</html>');


Un saludo.

newtron 19-07-2008 07:13:53

El problema es el componente
 
Hola de nuevo, gracias a todos por las respuestas pero el problema es que el componenteTIdMessage no lo encuentro en delphi 2007 y si instalo las indy parece que no son compatibles con las que trae el mismo delphi 2007 y dan problemas.

Gracias

white_zombie 19-07-2008 14:50:14

Hola, idmessage esta dentro de la paleta indy misc en delphi 7, siento no poder ser de mas ayuda ya que no tengo delphi 2007.

Puedes comprobar si en el directorio donde esta instalado el delphi 2007 existe el archivo idMessage.pas

Un Saludo

newtron 20-07-2008 07:52:23

Solucionado
 
Curiosamente el componente no aparece como tal pero si se le puede hacer un .create y usarlo. No hay ningún IdMessage.pas en la carpeta del delphi 2007. No sé qué se me escapa pero funciona.

Gracias a todos


La franja horaria es GMT +2. Ahora son las 04:18:14.

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