Ver Mensaje Individual
  #1  
Antiguo 03-06-2021
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Reputación: 17
Neeruu Va por buen camino
Cool 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;
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita