Page 1 sur 1

[..] Plantage $objEmail.Send

Posté : mar. 18 nov. 2025 16:34
par scorp84
Rebonjour à tous,

2ème question du jour :lol:

J'utilise la fonction _INetSmtpMailCom ''classique" et je rencontre le problème suivant : Si le send ($objEmail.Send) plante, quelle que soit la raison (adresse email inexistante, problème serveur, ...), l'exe Autoit plante.

The requested action with this object has failed.:
$objEmail.Send
$objEmail^ ERROR

Comment pourrais-je récupérer l'erreur de la fonction pour informer l'utilisateur que le mail n'est pas parti ?

Merci d'avance pour votre aide.

Amicalement.

BM

Re: [..] Plantage $objEmail.Send

Posté : mar. 18 nov. 2025 17:07
par Nine
Regarde dans le fichier d'aide sous la rubrique COM Error Handling.

Code : Tout sélectionner

Local $oMyError = ObjEvent("AutoIt.Error", "ErrFunc")

$objEmail.Send(...)
If @error then
...
EndIf

Func ErrFunc($oError)
    MsgBox($MB_OK, "We intercepted a COM Error !", _
            "Number: 0x" & Hex($oError.number, 8) & @CRLF & _
            "Description: " & $oError.windescription & _
            "At line: " & $oError.scriptline)
EndFunc   ;==>ErrFunc 
Tu peux ne rien faire dans la fonction ErrFunc. En cas d'erreur @error sera initialisé.

Re: [..] Plantage $objEmail.Send

Posté : mar. 18 nov. 2025 17:17
par scorp84
Bonjour Nine,

Merci pour ta réponse.

Mais si c'est au sein de la fonction que cela plante, l'interprétation du code n'ira pas jusqu'au @error en sortie de fonction ou je me trompe ?

Amicalement.

BM

Re: [..] Plantage $objEmail.Send

Posté : mar. 18 nov. 2025 18:18
par Nine
Tu n'as qu'à faire un test. Mais j'ai très souvent travaillé avec des objets COM, et je n'ai jamais eu de cas où ça ne fonctionnait pas...

Re: [..] Plantage $objEmail.Send

Posté : mar. 18 nov. 2025 18:22
par scorp84
OK,

Je teste ça.

Merci encore pour ton aide.

Amicalement.

BM