Bonjour,
je travaille avec un CGI stand-alone pour envoyer des emails en tuilisant Indy 10. Il se produit un problème de façon irrégulière, quand le programme tente d'enoyer un email:
An exception has occurred : EInvalidOp=Invalid floating point operation
Si cette exception se produit, elle est attrapée et j'essaye alors de déconnecter le smtp, avant de le libérer. Il semblerait que le smtp ne peut pas se déconnecter. La seul façon de faire, mis à part de tuer le processus, c'est d'attendre le timeout d'execution du CGI. Je travaille avec postfix.
voici le code:
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 try FMailMessage := TIdMessage.Create; FMailMessage.From.Text := aFrom; FMailMessage.Sender.Text := aFrom; FMailMessage.Recipients.EMailAddresses := aTo; FMailMessage.Subject := aSubject; anEmail.MailMessage.Body.Text := aBodyText try FSMTP := TIdSMTP.Create(nil); FSMTP.Host := aHost; FSMTP.Port := aPort; FSMTP.Connect; FSMTP.Send(FMailMessage); except on E:Exception do begin if FSMTP.Connected then FSMTP.Disconnect; FSMTP.Free; end; end; finally if Assigned(FSMTP) then begin if FSMTP.Connected then FSMTP.Disconnect; FSMTP.Free; end; end;
Partager