Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Envio de email. ERROR (https://www.clubdelphi.com/foros/showthread.php?t=90863)

emeritos 22-09-2016 13:14:45

Envio de email. ERROR
 
Buenas Dilferos.

Tengo uyn programa que manda un mensaje de email a un correo determinado cuando realiza una accion. En Junio funcionaba, pero ahora cuando hemos empezado ha utilizarlo otra vez da un error al mandar el email.

El trozo de codigo que hace que lo envie es este:

Código Delphi [-]

                        DLLHandlelib := LoadLibrary('libeay32.dll');
                        DLLHandlessl := LoadLibrary('ssleay32.dll');


                        // Abrir Aulas
                        Taulas.Close;
                        Taulas.Active := True;
                        Taulas.First;
                        // Mandar mansage por email
                        mailMensaje.Clear;
                        mailMensaje.From.Address := 'xxxxxxxxxxxxx@gmail.com';
                        Etexto.Text := 'Incidencia --> ' +  Taulas['nombre'] + ' -- ' + DateToStr(MQcabecera['fecha']);
                        mailMensaje.Subject := Etexto.Text;
                        Etexto.Text := 'Con fecha: ' + DateToStr(MQcabecera['fecha']) + ' el aula ' + Taulas['nombre'] + ' ha causado una incidencia.';
                        mailMensaje.Body.SetText(Etexto.Lines.GetText);
                        mailMensaje.From.Name := 'Incidencia';
                        mailMensaje.Recipients.EMailAddresses := 'yyyyyyyyyyyyyyyy@hotmail.es';
                        indySMTP.Host := 'smtp.gmail.com';
                        indySMTP.Username := 'xxxxxxxxxxxxx@gmail.com';
                        indySMTP.Password := 'XXXXXXXXXX';
                        indySMTP.Port := 465;
                        indySMTP.AuthenticationType := atLogin;
                        indySMTP.IOHandler := IdSSLIOHandlerSocket1;
                        IdSSLIOHandlerSocket1.SSLOptions.Method := sslvSSLv23;
                        IdSSLIOHandlerSocket1.SSLOptions.Mode := sslmUnassigned;
                        indySMTP.Connect;
                        if indySMTP.Connected
                           Then
                              Begin
                                  indySMTP.Send(mailMensaje);
                                  indySMTP.Disconnect;
                              End;

                        Taulas.Close;

El error lo hace en la linea indySMTP.Send(mailMensaje);, es decir, cuando intenta enviarlo.
El error es muy largo pero dice algo asi
.
.
<hpps://accounts.google.com(signin/continue?.........
5.7.34 ....
5.7.34 ....
5.7.34 ....
5.7.34 then try again
5.7.34 Kearn more at
5.7.34 hpps://suppont.google.com(mail/answer/78757 ......



Gracias.

Rocio90 22-09-2016 13:22:28

ME pasa lo mismo, es un tema de atenticación de Google/gmail. si encuentro la solución te lo posteo, aunque parece que el login lo hace bien

Casimiro Notevi 22-09-2016 13:26:54

http://www.clubdelphi.com/foros/show...ail#post485063
http://www.clubdelphi.com/foros/show...ighlight=gmail
http://www.clubdelphi.com/foros/show...ighlight=gmail
http://www.clubdelphi.com/foros/show...ighlight=gmail
http://www.clubdelphi.com/foros/show...ighlight=gmail

emeritos 22-09-2016 13:34:33

Me he dado cuenta que si en vez de poner esta linea:

indySMTP.Send(mailMensaje);

pongo esta otra

indySMTP.SendMsg(mailMensaje); o tambien indySMTP.SendMsg(mailMensaje, true);


No me sale error, se ejecuta la linea pero el mensaje no llega a su destino.

Neftali [Germán.Estévez] 22-09-2016 13:58:44

Prueba con este cambio:

Código Delphi [-]
  IdSSLIOHandlerSocket1.SSLOptions.Method := sslvTLSv1;

Y rellenando FromAddres y FromText con la dirección de envío.

A parte de revisar los links que te han pasado.

jhonny 22-09-2016 21:17:51

Además revisa el correo de envío, creo que gmail genera un correo para que autorices el envío de emails por medio de smtp desde tu cuenta de gmail.

emeritos 23-09-2016 18:51:32

Creo que el problema es que ee una aplicación que no cumple los estándares de seguridad modernos para gmail.
Pero creo que se puede solucionar siguientos estos pasos:

https://support.google.com/accounts/answer/6010255

Aunque no es segura pero para mi me vale que me da igual que entren en ese correo solo lo utilizo para enviar correo electronico para el aviso de un aincidencia, no para otra cosa.

Gracias.

emeritos 26-09-2016 10:21:12

Hola SOLUCIONADO

Con estas indicaciones y con esta sentecis en delphi

https://support.google.com/accounts/answer/6010255

Código Delphi [-]
indySMTP.Send(mailMensaje);

Funciona bien, pero lo unico que la cuenta de gmail estaria menos protegida, pero a mi me da igual..


Gracias.


La franja horaria es GMT +2. Ahora son las 08:34:46.

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