Hallo,
ik vond een voorbeeld van email in een thread ( Remy Lebeau, https://stackoverflow.com/questions/...eparate-thread) op internet.
Daarin heeft hij de volgende code :
Code:procedure TEmailThread.Execute;
var
smtp: TIdSMTP;
ssl: TIdSSLIOHandlerSocketOpenSSL;
email: TIdMessage;
begin
email := TIdMessage.Create(nil);
try
email.LoadFromFile(FFileName);
email.OnInitializeISO := DoInitializeISO;
DeleteFile (FFileName);
smtp := TIdSMTP.Create(nil);
try
ssl := TIdSSLIOHandlerSocketOpenSSL.Create(smtp);
ssl.SSLOptions.SSLVersions := [sslvTLSv1];
smtp.OnStatus := DoStatus;
smtp.IOHandler := ssl;
smtp.Host := FHost;
smtp.Password := FPassword;
smtp.Username := FUsername;
smtp.UseTLS := utUseExplicitTLS;
smtp.Port := 587;
smtp.Connect;
try
smtp.Send(email);
finally
smtp.Disconnect;
end;
finally
smtp.Free;
end;
finally
email.Free;
end;
end;
maar hier wordt niet gecontroleerd of de connect wel OK is. Als bijvoorbeeld een verkeerd Host of Port of password wordt gebruikt, zal er geen verbinding komen en er dus geen mail worden verzonden. Als ik een try.. except er omheen zet werkt dat niet.
Hoe kan ik de gebruiker laten zien dat er iets mis is gegaan ?