Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
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-10-2019
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Unhappy Envío de mail con Indy

Buenas, estoy intentando enviar un mail desde mi aplicación Delphi.
Trabajo con Delphi XE5, Indy 10.6.0.5040

Pongo el código fuente. Al momento de enviar el mail aparecen los errores. He pasado por diversos errores, pero el último ha sido este:

Código:
Username and Password not accepted. Learn more at https://support.google.com/mail/?p=BadCredentials g31sm15095354qte.78 - gsmtp
Otros errores que he tenido, mientras hacía cambios y cosas han sido:
Código:
Error connecting with SSL.
error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
Código:
Need SASL mechanisms to login with it!!
Ya se me quemaron todas las ideas. Intento enviar a través del SMTP de mi GMail.

Código Delphi [-]
procedure TfrmPrincipal.btnEnviarMailClick(Sender: TObject);
var
  Smtp : TidSMTP;
  ManejadorSSL : TidSSLIOHandlerSocketOpenSSL;
  Mensaje: TIdMessage;
  idSASLLogin:TIdSASLLogin;
  idUserPassProvider:TIdUserPassProvider;
begin
  ManejadorSSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
  with ManejadorSSL do
  begin
    Destination := 'smtp.gmail.com:465'; //'smtp.gmail.com:587';
    Host := 'smtp.gmail.com';
    MaxLineAction := maException;
    Port := 465; //587;

//    SSLOptions.Method := sslvSSLv3;
    SSLOptions.Method := sslvSSLv23;
    SSLOptions.SSLVersions := [sslvSSLv23];

    SSLOptions.Mode := sslmUnassigned;
    SSLOptions.VerifyMode := [];
    SSlOptions.VerifyDepth := 0;
  end;





  Smtp := TIdSMTP.Create( nil );

  idSASLLogin := TIdSASLLogin.Create(Smtp);
  idUserPassProvider := TIdUserPassProvider.Create(idSASLLogin);

  idSASLLogin.UserPassProvider := idUserPassProvider;
  idUserPassProvider.Username := 'santiago14@gmail.com';
  idUserPassProvider.Password := 'mipass';


  with Smtp do
  begin
    IoHandler := ManejadorSSL;
    Host := 'smtp.gmail.com';
    Port := 465; // 25;
    SASLMechanisms.Add.SASL:=IdSASLLogin;
    AuthType:=satSASL;
    ValidateAuthLoginCapability:=True;
    Username := 'santiago14@gmail.com'; //Usuario del correo SMTP
    Password := 'mipass'; //Pas del correo POP
    UseTLS := utUseImplicitTLS; //utUseExplicitTLS;
  end;

  Mensaje := TIdMessage.Create(nil);
  with Mensaje do
  begin
    Clear;
    Subject := 'Mi primer mensaje'; //Asunto del mensaje
    Body.Text := 'Hola. Este es mi primer mensaje'; //Cuerpo del mensaje. Podría ser HTML
    Recipients.Add;
    Recipients.Items[0].Address := 'srusso_19bj@yahoo.com'; //Mail destino. Va uno por Address
  end;

  try
    Smtp.Connect;
    if smtp.Connected then
    begin
  //    btnEnviarMail.Enabled:=False;
      smtp.Send(Mensaje);
      smtp.Disconnect;
  //    btnEnviarMail.Enabled:=True;
      Application.MessageBox('Correo enviado', 'Correos', MB_OK);
    end;
  except
    on e:Exception do
    begin
      Log(e.Message);
      mErrores(e, 'No se envió el mail.', 'Correos');
    end;
  end;

  FreeAndNil(Smtp);
  FreeAndNil(Mensaje);
  FreeAndNil(ManejadorSSL);
end;


Espero puedan ayudarme. Si necesitan mas datos, los tengo.
Gracias.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #2  
Antiguo 16-10-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Prueba con sslvSSLv1 o el 2, creo recordar que no vale el sslvSSLv23
Responder Con Cita
  #3  
Antiguo 16-10-2019
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Question

Muy bien, el código que puse arriba funciona muy bien. Pero debo poner en Google "Permitir el acceso de aplicaciones poco seguras" en SI. Me indica que el acceso de mi aplicación al mail no es del todo bueno.
¿Hay manera de mejorar esa seguridad?


Quedo a la espera. Gracias.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
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
office 365 envio de mail balger Varios 1 22-01-2019 08:49:55
Error en envío de mail con adjunto + Indy 10 agustibaldo Internet 8 23-01-2015 21:23:31
Envio de Mail ramonibk Internet 4 08-04-2010 20:30:12
Envio A Mail Y Ftp Yusk333 API de Windows 8 18-02-2009 17:51:56
envío de e-mail davidgaldo Internet 2 03-05-2004 20:07:49


La franja horaria es GMT +2. Ahora son las 06:50:48.


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