[R] Erreur envoi de mail $objEmail.Send

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
lokomass
Niveau 5
Niveau 5
Messages : 128
Enregistré le : mer. 15 déc. 2010 10:21
Status : Hors ligne

[R] Erreur envoi de mail $objEmail.Send

#1

Message par lokomass »

Bonjour à tous,

J'ai un souci sur un de mes scripts. Celui-ci s’exécute chaque semaine depuis plusieurs années, tous les samedis à 3h00 sans aucun problème.
Samedi dernier, donc le 12/09, mon script est tombé en erreur :

Code : Tout sélectionner

The requested action with this object has failed
 
En fouillant un peu (en lançant le fichier au3, plutôt que l'exe), j'ai trouvé que l'erreur venait du send mail...

Code : Tout sélectionner

$objEmail.Send
$objEmail.Send^ ERROR
 
Alors là je ne comprend vraiment rien... je n'ai pas modifié le script depuis 3 ans, et il fonctionne parfaitement depuis toujours....
Je n'ai pas changé de FAI, pas changé de boîte mail ou de mot de passe, l'ordinateur en question a bien internet....
Je ne vois vraiment pas d’où vient le souci.. J'ai relancé plusieurs fois et à chaque fois la même erreur, donc pas un souci ponctuel.

Voici mon code, une idée ?
► Afficher le texte
Modifié en dernier par lokomass le dim. 20 sept. 2015 20:39, modifié 1 fois.
lokomass
Niveau 5
Niveau 5
Messages : 128
Enregistré le : mer. 15 déc. 2010 10:21
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#2

Message par lokomass »

En complément, j'ai testé une fonction qui est censé fonctionner chez tout le monde (d'après ce que j'ai vu sur les forums), et j'ai l'erreur suivante :

Image

Voici le code utilisé cette fois-ci.
► Afficher le texte
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1038
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#3

Message par walkson »

Bonjour,
avez vous essayé avec
$IPPort = 465
$ssl = 1
avec parefeu et antivirus désactivés et en vérifiant les ports autorisés dans la box ?
Pour ma part, avec ce port, je n'ai pas de problème tout en étant sous le FAI orange (envoie sous SMTP.free.fr compte gratuit)
J'oublie, en début de script, j'ai rajouté
#AutoIt3Wrapper_Run_AU3Check=n
mais je ne pense pas que le problème vient de là...
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
lokomass
Niveau 5
Niveau 5
Messages : 128
Enregistré le : mer. 15 déc. 2010 10:21
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#4

Message par lokomass »

Bonjour et merci pour ta réponse,

Peux-tu me donner exactement la fonction que tu utilises, que je repartes sur un truc qui fonctionne bien stp ?
Merci d'avance
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1038
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#5

Message par walkson »

C'est exactement la même que tu as mise dernièrement
[Edit]
Après vérif avec votre deuxième script, aucun problème mais avec >> #AutoIt3Wrapper_Run_AU3Check=n << sinon le script bloque sur $objEmail.To = $s_ToAddress
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
lokomass
Niveau 5
Niveau 5
Messages : 128
Enregistré le : mer. 15 déc. 2010 10:21
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#6

Message par lokomass »

Je testerai ce soir depuis mon PC, mais du coup ce que je ne comprend vraiment pas, c'est comment du jour au lendemain sans jamais rien avoir touché au niveau AutoIT, ça peut ne plus fonctionner ? ça me dépasse...
lokomass
Niveau 5
Niveau 5
Messages : 128
Enregistré le : mer. 15 déc. 2010 10:21
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#7

Message par lokomass »

Même erreur avec #AutoIt3Wrapper_Run_AU3Check=n et en mettant le port 465 avec ssl à 1.
Au niveau des ports, ça m'étonne de devoir ouvrir des ports sur la box pour envoyer des mails ?
J'ai essayé de désactiver l'antivirus mais pareil.

EDIT :
En mettant le port 25 et le ssl à 0 (ce que j'avais de base, et que j'utilise depuis 3 ans), j'ai ce message......

Image

Une autre piste ?
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#8

Message par jchd »

Si ton FAI considère que tes envois sont du spam (il a peut-être raison de son point de vue) tu ne peux pas contourner ce problème, sauf à adhérer aux règles qu'il t'indique dans son lien.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
lokomass
Niveau 5
Niveau 5
Messages : 128
Enregistré le : mer. 15 déc. 2010 10:21
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#9

Message par lokomass »

JE ne peux pas utiliser un autre serveur smtp que celui de mon FAI ?
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#10

Message par jchd »

Bien sûr que si, mais il faut avoir un compte adequat sur la machine qui t'ouvre un service SMTP (gmail, hotmail, turlutemail, ...). Les FAI grand public n'acceptent plus de SMTP provenant de non abonnés.

Les spammers cherchent des services SMTP ouverts (c'est fort rare de nos jours), tentent de pirater des comptes par attaque de type dictionnaire et surtout utilisent des réseaux de machines "plombées" pour faire leurs envois en masse.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
lokomass
Niveau 5
Niveau 5
Messages : 128
Enregistré le : mer. 15 déc. 2010 10:21
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#11

Message par lokomass »

Du coup j'ai essayé le smtp de Gmail mais je retombe sur l'erreur du début
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1038
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#12

Message par walkson »

lokomass a écrit : Au niveau des ports, ça m'étonne de devoir ouvrir des ports sur la box pour envoyer des mails ?
En principe, les box ont un parefeu. Dans le cas d'Orange quand je suis passé à la livebox2, Free et Google en SMTP ne fonctionnaient plus car le port d'orange est 587 et le port 465 était fermé.

Avec Free, le SMTP fonctionnait avec le port 25 mais depuis plusieurs années le port 465 est obligatoire (je suis sous Orange).
Je tiens à préciser un point lors de mes essais, quand j'envoie un message avec le script via le SMTP Free à ma boite Orange avec copie à Free, le mail arrive comme un spam dans les 2 boites et je suis obligé de configurer une règle pour qu'il soit accepté. Mais je n'ai pas ce problème avec Thunderbird.

Il y a quelques temps je m'étais fais un "mouchard" sur ma clef USB qui envoyait un mail avec l'IP de celui qui s'était branché mais j'ai eu beaucoup de problèmes dés que la clef n'était pas branché sur mon PC et donc pas beaucoup d’intérêts.
Depuis, j'ai réglé le problème en envoyant les informations par FTP. (il me semble qu'il y a un exemple sur le forum pour signaler la position des ordinateurs portables). Ce peut être une solution à votre problème...
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
lokomass
Niveau 5
Niveau 5
Messages : 128
Enregistré le : mer. 15 déc. 2010 10:21
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#13

Message par lokomass »

Du coup je pense laisse tomber le smtp de free, qui se met à bloquer mes mails du jour au lendemain sans raison valable...
Bref, j'ai pensé à reprendre un autre système. J'utilise également sous unix la commande nail, qui permet de m'envoyer le même type de mail, et qui fonctionne très bien.
En jetant un coup d’œil sur la configuration que j'avais mis en place, j'ai trouvé ceci !!

Code : Tout sélectionner

# Set variables for send messages.
set smtp-use-starttls
set ssl-verify=ignore
set smtp="smtp://smtp.gmail.com:587"
set from="Synology"
set smtp-auth-user="****"
set smtp-auth-password="****"
set sendcharsets="utf-8"
set ttycharset="utf-8"
 
Ceci est très intéressant, ça veut dire que j'envoie bien mes mails via un autre smtp que celui de mon fournisseur (ce que tu disais jchd).
J'ai donc de suite modifié la conf autoit ci-dessus :

Code : Tout sélectionner

      $SmtpServer = "smtp.gmail.com"              ; address for the smtp-server to use - REQUIRED
       $FromName = "lokomass"                      ; name from who the email was sent
       $FromAddress = "***********" ; address from where the mail should come
        $ToAddress = "*****"   ; destination address of the email - REQUIRED
        $Subject = "ssdf"                   ; subject from the email - can be anything you want it to be
        $Body = "sdfsdf"                              ; the messagebody from the mail - can be left blank but then you get a blank mail
        $AttachFiles = ""                       ; the file(s) you want to attach seperated with a ; (Semicolon) - leave blank if not needed
        $CcAddress = ""       ; address for cc - leave blank if not needed
        $BccAddress = ""     ; address for bcc - leave blank if not needed
        $Importance = "Normal"                  ; Send message priority: "High", "Normal", "Low"
        $Username = "*******"                    ; username for the account used from where the mail gets sent - REQUIRED
        $Password = "*********"                  ; password for the account used from where the mail gets sent - REQUIRED
        $IPPort=587                             ; GMAIL port used for sending the mail
        $ssl=0                                 ; GMAILenables/disables secure socket layer sending - put to 1 if using httpS
 
Concernant ssl, comme j'ai plus haut ssl-verifiy=ignore j'ai mis ssl=0. (si je met ssl à 1, je retombe sur le message : transport a échoué).
Et j'ai un autre message d'erreur qui dit qu'il faut utiliser smtp-use-starttls.
Seulement comment le configurer dans autoit ? (en effet je vois bien dans le script nail qu'il utilise set smtp-use-starttls au début) ?
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#14

Message par jchd »

walkson,

Je ne connais aucune "box" qui bloque en sortie des ports de la machine destination (et surtout pas ceux-là, par défaut) !
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
lokomass
Niveau 5
Niveau 5
Messages : 128
Enregistré le : mer. 15 déc. 2010 10:21
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#15

Message par lokomass »

Moi aussi ça me paraît impossible. Du coup j'ai toujours mon souci de ssl... Certains disent que c'est le port 465 pour gmail, quelle est la bonne configuration ?
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1038
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#16

Message par walkson »

Bonjour,
@jchd, Sans doute parce que j'étais en configuration personnalisée. Cependant, et je viens de vérifier, le port 465 n'est pas proposé et j'avais du le rajouter. Aujourd'hui, je suis repassé sur la configuration "moyenne" et aucun SMTP n'est bloqué.

@ lokomass , si je propose de passer par FTP, c'est parce que je présume que vous envoyez régulièrement des informations sur le comportement de votre PC. Free (comme Orange) propose la création (gratuite) d'un site qui est modifiable par FTP d’où mon idée...
A titre indicatif, j'envoie du courrier au travers de 4 SMTP différents sans aucun problème. Mais avec le script Autoit, ce n’est pas le cas. Avec Orange et Free, aucun problème mais pour les autres (Google), ça passe très difficilement.
Certains disent que c'est le port 465 pour gmail, quelle est la bonne configuration ?
Oui, tout à fait
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
lokomass
Niveau 5
Niveau 5
Messages : 128
Enregistré le : mer. 15 déc. 2010 10:21
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#17

Message par lokomass »

Avec le port 465 et ssl à 1 ça fonctionne impecc !!!
lokomass
Niveau 5
Niveau 5
Messages : 128
Enregistré le : mer. 15 déc. 2010 10:21
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#18

Message par lokomass »

Petit question subsidiaire ?
Je me retrouve avec ces signatures dans mes mails :

Code : Tout sélectionner

---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Je suppose que c'est le fait d'avoir passé le ssl à 1, mais est-ce possible de virer cette signature ?
Merci d'avance.
lokomass
Niveau 5
Niveau 5
Messages : 128
Enregistré le : mer. 15 déc. 2010 10:21
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#19

Message par lokomass »

il suffisait de désactiver le scan à l'envoi des mails dans avast. ;)
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Erreur envoi de mail $objEmail.Send

#20

Message par jguinch »

Merci de passer le sujet en [R] si le problème est résolu. Il suffit pour cela de modifier le titre du premier message.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Répondre