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
With SMTP do
begin
Host := 'smtp.mail.com.ar';
port := 25;
Username := 'usuario'; Password := 'contraseña'; end;
With Mail do
begin
Clear;
From.Address := 'micorreo@mail.com'; Recipients.EMailAddresses := sEMailDestino;
sAsunto := 'Recuperación de Contraseña.';
Subject := sAsunto;
Priority := TidMessagePriority(mpHighest);
With TIdText.Create(MessageParts, nil) do begin
Body.AddStrings(CargaMensaje(sCuitCuil, sContraseña)); ContentType := 'text/html';
end;
ContentType := 'multipart/related; type="text/html"'; end;
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;
SMTP.Send(mail);
Result := True;
except
on E: Exception do
begin
Log('Envio de Mail', E.Message, 'Login');
Result := False;
end;
end;