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 16-11-2004
Kamikaze Kamikaze is offline
Miembro
 
Registrado: abr 2004
Posts: 30
Poder: 0
Kamikaze Va por buen camino
Question Email con los componentes Indy

¿Alguien tiene algun codigo para enviar emails con los componentes indy?
Por que los componentes de fast net no los trae delphi 7
(si los trae pero no funcionan )

Muchas Gracias.


P.D.: Por si acaso lo sepa alguien yo lo pregunto...
¿Alguien sabe el puerto (25 creo) y la direccion de hotmail para enviar un email al propio hotmail? o ¿Alguien sabe de algun servidor que lo pueda hacer?.
Responder Con Cita
  #2  
Antiguo 16-11-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Kamikaze
¿Alguien tiene algun codigo para enviar emails con los componentes indy?
En el hilo anterior que abriste al respecto de FastNet ya te había puesto un enlace a un hilo donde Nuria detalla los pasos a seguir.

// Saludos
Responder Con Cita
  #3  
Antiguo 18-11-2004
Kamikaze Kamikaze is offline
Miembro
 
Registrado: abr 2004
Posts: 30
Poder: 0
Kamikaze Va por buen camino
Unhappy Lo volvi a preguntar por.....

Lo volvi a preguntar por que me daba un monton de errores
(creo que el fallo esta en las uses pero intento buscar con el "Find in Files..." del menú "Search" y me salen una burrada.... pero por si acaso, las meti todas; (manera bestia) y me sigue saliendo los mismos errores...).

P.D.:Uso delphi 7, ¿sera por eso?.


Os dejo los mensajes de error para que los veais:

1º el codigo...

uses IdSmtp, IdMessage,

procedure TForm1.Button1Click(Sender: TObject);
begin
with idMessage do begin
// Cuerpo del mensaje.
Body.Clear;
Body.Add('Aqui añades el cuerpo del mensaje');
// Cuenta Origen.
From.Text := EMAILORIGEN;
// Cuenta Destino.
Recipients.EMailAddresses := EMAILDESTINO;
// Asunto del email.
Subject := ASUNTO;
// Prioridad del mensaje, ALTA.
Priority := TidMessagePriority(mpHighest);
// Coloco el archivo adjunto el cual enviar.
TidAttachment.Create(idMensage.MessageParts,ARCHIVOADJUNTO);
end;
with idSMPT do begin
// Configuro autentificación.
AuthenticationType := atLogin;
Username := USERNAME; // Nombre del usuario
Password := PASS; // la password
// Configuro el servidor SMTP.
Host := HOST;
Port := PUERTO;

try
Connect;
try
// Envio el mensaje.
Send(idMenssage);
finally
Disconnect;
end;
Msg('Enviado Correctamente');
except
// Capturo algunas excepciones que pueden ocurrir
ON E: EIdProtocolReplyError do begin
Msg('No se ha podido enviar el email.' + #13 +
'Incorrecto el email o el usuario o la password.');
end;
on E: EFOpenError do begin
Msg('No se ha podido enviar el email.' + #13 +
'Fichero Adjunto desconocido o erróneo.');
end;
on E: EIdSocketError do begin
Msg('No se ha podido enviar el email.'+ #13 +
'Host desconocido o incorrecto.');
end
else begin
Msg('Fallo en el envio de email');
end;
end;
if connected then Disconnect;
end
end.



2º Los errores:

[Error] Unit1.pas(30): '.' expected but 'DO' found
[Error] Unit1.pas(32): Undeclared identifier: 'Body'
[Error] Unit1.pas(33): Missing operator or semicolon
[Error] Unit1.pas(35): Missing operator or semicolon
[Error] Unit1.pas(37): Undeclared identifier: 'Recipients'
[Error] Unit1.pas(39): Undeclared identifier: 'Subject'
[Error] Unit1.pas(41): Undeclared identifier: 'Priority'
[Error] Unit1.pas(43): Undeclared identifier: 'idMensage'
[Error] Unit1.pas(43): 'END' expected but ',' found
[Error] Unit1.pas(45): Declaration expected but 'WITH' found
[Error] Unit1.pas(47): Undeclared identifier: 'AuthenticationType'
[Error] Unit1.pas(48): Undeclared identifier: 'Username'
[Error] Unit1.pas(49): Undeclared identifier: 'Password'
[Error] Unit1.pas(52): Undeclared identifier: 'Port'
[Error] Unit1.pas(55): Undeclared identifier: 'Connect'
[Error] Unit1.pas(58): Undeclared identifier: 'Send'
[Error] Unit1.pas(60): Undeclared identifier: 'Disconnect'
[Error] Unit1.pas(62): Invalid typecast
[Error] Unit1.pas(65): Undeclared identifier: 'EIdProtocolReplyError'
[Error] Unit1.pas(67): Invalid typecast
[Error] Unit1.pas(71): Invalid typecast
[Error] Unit1.pas(73): Undeclared identifier: 'EIdSocketError'
[Error] Unit1.pas(75): Invalid typecast
[Error] Unit1.pas(78): Invalid typecast
[Error] Unit1.pas(81): Undeclared identifier: 'connected'




Muchas gracias a todos los que habeis desperdiciado un poco de tiempo en mi...
Responder Con Cita
  #4  
Antiguo 18-11-2004
TDworD TDworD is offline
Miembro
 
Registrado: nov 2003
Posts: 23
Poder: 0
TDworD Va por buen camino
Aqui te pongo un ejemplo de una función que tengo para enviar correos con componentes INDY

En este caso las variables globales que utilizan la función son lo siguiente:

G_HostMail: dirección del servidor SMTP, como el que viene en el outlook
G_UserMail: Usuario de conexión del correo
G_PasswordMail: Password del usuario de correo
G_ReplyMail: Dirección de respuesta del correo


Function TDM.EnviarCorreo(Para:String;Asunto:String;Contenido:TStrings):boolean;
begin
try
//Comprobamos los datos para enviar el correo
if Para=''
then Error('No se ha introducido un destinatario para el correo');
if G_HostMail=''
then Error('Debe introducir un Host de correo en la configuración');
if G_UserMail=''
then Error('Debe introducir un usuario de correo en la configuración');
//Configuramos el correo
Correo.Clear;
Correo.Body.AddStrings(Contenido);
Correo.Recipients.EMailAddresses:=Para;
Correo.Subject:=Asunto;
Correo.From.Text:=G_ReplyMail;
SMTP.Host:= G_HostMail;
SMTP.UserId:= G_UserMail;
SMTP.Password:= G_PasswordMail;
//Enviamos el correo
SMTP.Connect;
SMTP.Send(Correo);
SMTP.Disconnect;
result:=true;
except
result:=false;
end;
end;

Aprobecho el tema para hacer dos preguntillas (no se si ha salido ya en un post anterior, si es así perdonadme pero ahora no he podido mirarlo, decidmelo y lo buscaré a ver)

¿Como puedo enviar un anexo con el componente? ¿Compo puedo enviar el correo como HTML?
Responder Con Cita
  #5  
Antiguo 18-11-2004
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Cita:
Empezado por Kamikaze
Os dejo los mensajes de error para que los veais:

1º el codigo...

Código Delphi [-]
uses IdSmtp, IdMessage,
 
procedure TForm1.Button1Click(Sender: TObject);
begin
with idMessage do begin // <-- [Error] Unit1.pas(30): '.' expected but 'DO' found. 
  // Estás usando el nombre de la unidad como nombre del componente u objeto.
    // Cuerpo del mensaje.
    Body.Clear;
    Body.Add('Aqui añades el cuerpo del mensaje');
    // Cuenta Origen.
    From.Text := EMAILORIGEN;
    // Cuenta Destino.
    Recipients.EMailAddresses := EMAILDESTINO;
    // Asunto del email.
    Subject := ASUNTO;
    // Prioridad del mensaje, ALTA.
    Priority := TidMessagePriority(mpHighest);
    // Coloco el archivo adjunto el cual enviar.
    TidAttachment.Create(idMensage.MessageParts,ARCHIVOADJUNTO);
  end;
with idSMPT do begin
   // Configuro autentificación.
   AuthenticationType := atLogin;
  Username := USERNAME;  // Nombre del usuario
  Password := PASS;  // la password
  // Configuro el servidor SMTP.
  Host := HOST;
  Port := PUERTO;
   
  try
    Connect;
    try
      // Envio el mensaje.
      Send(idMenssage);
    finally
      Disconnect;
    end;
    Msg('Enviado Correctamente');
  except
     // Capturo algunas excepciones que pueden ocurrir
    ON E: EIdProtocolReplyError do begin
      Msg('No se ha podido enviar el email.' + #13 +
          'Incorrecto el email o el usuario o la password.');
    end;
    on E: EFOpenError do begin
      Msg('No se ha podido enviar el email.' + #13 +
          'Fichero Adjunto desconocido o erróneo.');
    end;
    on E: EIdSocketError do begin
      Msg('No se ha podido enviar el email.'+ #13 +
          'Host desconocido o incorrecto.');
    end
    else begin
      Msg('Fallo en el envio de email');
    end;
  end;
  if connected then Disconnect;
end
end.

Muchas gracias a todos los que habeis desperdiciado un poco de tiempo en mi...
Resolviendo el error que te marqué... debes poder corregir casi todos los demás errores...
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 21:53:03.


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