Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problemas al enviar Email (https://www.clubdelphi.com/foros/showthread.php?t=43231)

BuenaOnda 05-05-2007 07:23:51

Problemas al enviar Email
 
Hola amigos del foro:

Les agradeceria mucho que me ayudaran a resolver un problema que tengo, les cuento necesito mandar un email y probado con muchos componentes(Indy,Fassnet) y ninguno ha solucionado mi problema.. a lo mejor proporciono mal los datos como : host, usuario,etc..

por ejemplo componentes Indy

Código Delphi [-]
  
//En el caso de un servidor GMAIL
  IDSMTP1:=TIDSMTP.Create(nil);
  IdSMTP1.AuthenticationType :=atLogin;
  IdSMTP1.UserNAME := micuenta@gmail.com; //me imagino que es la misma
                                                              //que la de mi correo gmail 
 
  IdSMTP1.Password := 123456;                   //me imagino que es el mismo
                                                              //que la de mi correo gmail 
  IdSMTP1.Host := smtp.gmail.com;
  IdSMTP1.Port := 25;
 
  with Mensaje do
  begin
  Body.Add(CUERPO);
  From.Text := micuenta@gmail.com
  Recipients.EMailAddresses := miamigo@hotmail.com
  Subject := 'para probar';
  Priority := TIdMessagePriority(mpHighest);//prioridad del mensaje
  CCList.EMailAddresses := '';
  BccList.EMailAddresses := '';
  TIdAttachment.Create(Mensaje.MessageParts,adjunto);
  end; //configuracion server smtp

  with idsmtp1 do
  begin
   try
      Connect;
      try
        // Envio el mensaje.
        Send(Mensaje);
      finally
        Disconnect;
      end;
  //    MessageDlg('Enviado Correctamente', mtInformation, [mbOK], 0);
    except
       // Capturo algunas excepciones que pueden ocurrir
      ON E: EIdProtocolReplyError do begin
      MessageDlg('No se ha podido enviar el email.' + #13 +
            'Incorrecto el email o el usuario o la password.', mtError, [mbOK], 0);
      end;
      on E: EFOpenError do begin
      MessageDlg('No se ha podido enviar el email.' + #13 +
            'Fichero Adjunto desconocido o erróneo.', mtError, [mbOK], 0);
      end;
      on E: EIdSocketError do begin
      MessageDlg('No se ha podido enviar el email.'+ #13 +
            'Host desconocido o incorrecto.', mtError, [mbOK], 0);
      end
      else begin
      MessageDlg('Fallo en el envio de email', mtError, [mbOK], 0);
      end;
    end;
  end;

tambien lo intente con un correo hotmail y tuve el mismo problema :(

muchas gracias por su valiosa ayuda...

droguerman 05-05-2007 15:21:07

bueno no he llegado a usar componentes Indy, pero si sé que si envias un mail solo con la data no es procesado por gmail o hotmail, necesitas añadir a tu mensaje un encabezado parecido a este:

From: "TU Nombre" <tucorreo@tuserver>
Return-Path: "direccion retorno" <tucorreo@tuserver>
To: "Nombre de tu destino <destino@elserverdestino>"
Subject: el asunto
Date: 2-2-2007
MIME-Version: 1.0
Content-Type: text/html;
format=flowed;
charset="iso-8859-1;"
reply-type=original
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
<aqui hay que darle dos enters>
<aqui viene tu mensaje>

ahora a mi solo me ha funcionado llegando como spam pero llega, revisa si existe alguna forma de añadir encabezados a tu correo

dec 05-05-2007 16:38:26

Hola,

También puede ser que sea menester usar de cierto modo el protocolo SSL, que es el que usa Gmail. Aquí tienes un ejemplo del compañero Román.

basti 05-05-2007 16:43:24

Además de lo que dice dec, tienes que cambiar el puerto del SMTP, en Gmail es el 465.

BuenaOnda 05-05-2007 20:56:36

muchas gracias
 
gracias por su ayuda, disculpen que siempre los este molestando..:D

BuenaOnda 05-05-2007 21:51:59

sigo con problemas..
 
el ejemplo del amigo roman se ve muy bueno, pero me olvide de decirles, que estoy utilizando delphi 7, por lo que hay algunos propiedades que no poseen la version de los indy para delphi 7, lo que produce errores...jijiji..

muchas gracias..:D

dec 05-05-2007 22:39:21

1 Archivos Adjunto(s)
Hola,

Tienes la opción de instalar la versión 10 de los componentes Indy, pero, con la versión 9 (conque cuentas en Delphi 7) también es posible enviar correos utilizando el SMTP de GMail con tu propia cuenta de usuario. El ejemplo que adjunto necesita también de las librerías que menciona Román anteriormente. Todas las propiedades de los componentes implicados son las que traen estos por defecto, excepto las que he cambiado en el propio código fuente.

marcial 25-07-2012 10:59:48

El Archivo ZIP está dañado. ¿Sería posible sustituirlo por el correcto pues me sería de muchisima ayuda?
Gracias
Marcial

Casimiro Notevi 25-07-2012 11:25:09

Hola, lo acabo de probar y funciona bien, ¿qué problema tienes?

roman 25-07-2012 17:50:16

Yo también lo puedo abrir sin problemas usando IZarc y desde Firefox.

// Saludos

marcial 25-07-2012 22:46:21

Pues Ejemplo.dpr Ejemplo.res y Limpiar.bat parece ser que están dañados
Luego, en el directorio frm, el UfrmPrincipal.dfm tampoco lo descomprime
Este es el mensaje que me da el winrar.

! C:\ADAROS\ProgramasAuxiliares\SSL\Enviar correo con SMTP de Gmail (con Indy 9).zip: El archivo está dañado
! C:\ADAROS\ProgramasAuxiliares\SSL\Enviar correo con SMTP de Gmail (con Indy 9).zip: El archivo está dañado

Gracias

roman 25-07-2012 22:55:14

Yo veo bien todos los archivos. ¿Con cual navegador estás descargando el zip? ¿Has probado usar IZarc en lugar de WinRar?

// Saludos

Casimiro Notevi 25-07-2012 23:11:07

Lo he descargado otra vez, lo he descomprimido, he abierto cada fichero del mismo y lo he vuelto a comprimir, ahora en formato .rar

Lo he puesto aquí, por si quieres probar si te funciona.

Neeruu 26-07-2012 00:13:02

Hola a todos...

Cita:

Empezado por dec (Mensaje 199154)
También puede ser que sea menester usar de cierto modo el protocolo SSL, que es el que usa Gmail. Aquí tienes un ejemplo del compañero Román.

Para mandar email con gmail se necesita enviarlos con seguridad ssl... por eso también cambia el puerto de 25 a 465.
Con buscar las dll y ponerlas en la misma carpeta que el ejecutable ya esta...

En el create de tu formulario agregas.
Código Delphi [-]
procedure TFrmEMail.FormCreate(Sender: TObject);
begin
  IdSSLOpenSSLHeaders.Load;
end;
y agregas la Unit: IdSSLOpenSSLHeaders.

Ahora algunas dolores de cabezas que puedes ahorrar (Por supuesto, todos en la maquina del cliente, porque en la propia siempre anda todo.... :rolleyes:)

1 - Si no te se conecta, prueba bajar el antivirus.
2 - Si no te carga las dll, prueba bajar el antivirus.
3 - Y una vez descartado el antivirus, te comento un caso que no tengo ni ideas porque, pero bueno:

Realice un modulo de envio de mail, con delphi 2010, indy 10.5.5, y las dll de ssl las baje de http://indy.fulgan.com/SSL/, en mi maquina (Windows Seven )envía sin ningún problema.
Ahora en la maquina de mi cliente con Windows server 2008 R2, primero no cargaba las dll por el antivirus, despues que desactive el antivirus seguia sin cargar , entonces busque otras dll en http://www.openssl.org/ y segui el problema, entonces busque otras dll en http://slproweb.com/products/Win32OpenSSL.html... Aclaro que son todas las mismas versión pero descargadas de distintos lugares... incluso algunas pesaban mas que otras...

Cuando logre que cargue las dll, seguí probando, con algunas me daba el error "Connection Time-out Error Socket 10060"...
Y así probando, porque no recuerdo de donde descargue las dll que quedaron, solucione el problema....

Aclaro que, una vez que realice el modulo, lo pase a mi cliente, y todo esto lo realice solo cambiando las dll... con esto quiero decir que no era un error de programación... sino que por alguna razón las mismas dll, con el mismo ejecutable y las misma cuenta de correo, no andan igual en distintas maquinas...

Los dos grandes problemas que tuve son:
1 - No cargaba la dll (Por el antivirus y por la versión de dll) (socket error 10013).
2 - Tiempo de Respuesta agotado (Connection Time-out)

Espero que te sirva....

Saluda Atte Neeruu!!!:)


La franja horaria es GMT +2. Ahora son las 11:32:44.

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