Foros Club Delphi

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

Neeruu 03-06-2021 18:14:24

Verificar Envio de Email.
 
Hola, buenas....

Tengo una función que envía correos electrónicos para recuperar la contraseña... funciona sin problemas, pero aveces los clientes reportar que el correo de recuperación no les llega...
Como puedo verificar que el correo fue enviado correctamente, esto utilizando el componente TIdSMTP para el envió de correo-.

El código que envía el correo es el siguiente:
En los log que guardo no hay nada, por lo que me lleva a pensar que es un error del servidor de correo o que SMTP.Send(mail) no envía el corro pero no lo reporta, o no se como capturar algún mensaje de error...


Código Delphi [-]
function TFrmLogin.EnviarEMail(sEMailDestino,sCuitCuil, sContraseña:String):Boolean;
var sAsunto:String;
begin
  // CONFIGURACION DEL SERVIDOR AL QUE SE ENVIA EL CORREO
  With SMTP do
    begin
      Host              := 'smtp.mail.com.ar';
      port              := 25;
      Username          := 'usuario';//correo de origen
      Password          := 'contraseña';//Contrasena de origen;
      //ConnectTimeout    := 100000;
    end;

  // CONFIGURACION DEL MENSAJE A ENVIAR
  With Mail do
    begin
      Clear;
      From.Address                := 'micorreo@mail.com';//Correo de Origen
      Recipients.EMailAddresses   := sEMailDestino;

      sAsunto := 'Recuperación de Contraseña.';
      Subject := sAsunto;

      //MessageParts.Clear;
      Priority := TidMessagePriority(mpHighest);

      With TIdText.Create(MessageParts, nil) do begin
        Body.AddStrings(CargaMensaje(sCuitCuil, sContraseña)); //Esta funcion arma un html con la contraseña temporarl
        ContentType := 'text/html';
      end;

      ContentType := 'multipart/related; type="text/html"'; // Texto em HTML
    end;

  //Adjunto Imagen Logo
  With TIdAttachmentFile.Create(Mail.MessageParts,'files/Imagenes/Imagen.png') do
    begin
      ContentType := 'image/png';
      ContentID   := '';
      ContentDisposition := 'inline';
      Filename    := 'Imagen.png';
    end;

  try
    if Not SMTP.Connected then
      SMTP.Connect;

    // ENVIO DEL MENSAJE
    SMTP.Send(mail);

    //ShowMessage('Mensaje Enviado!.');
    Result := True;
  except
    on E: Exception do
      begin
        Log('Envio de Mail', E.Message, 'Login'); //Log: Funcion que escribe los errores en un txt;
        
        Result := False;
      end;
  end;

juanelo 08-06-2021 20:22:08

Lo mas sencillo es que te pongas un correo Cco (con copia oculta). Si te llega obviamente se fue correctamente el correo. Saludos


La franja horaria es GMT +2. Ahora son las 16:36:58.

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