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 ?
Bookmarks