PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Envoyer un mail - protocole SMTP
Envoyer un mail - protocole SMTP
Iniciado por Fany, 11,mar. 2019 11:50 - 10 respuestas
Miembro registrado
365 mensajes
Publicado el 11,marzo 2019 - 11:50
Bonjour à tous, j'ai besoin de votre aide.
Je n'arrive pas a comprendre ce qui cloche...
Et pourtant la manip a l'air si simple...

Je veux simplement envoyer un mail en utilisant le protocole SMTP.

Voilà mon code :
sUser est une chaîne = "nom.prenom@gmail.com"
sPasse est une chaîne = "MonMotDePasse"
sServeur est une chaîne = "smtp.gmail.com"
xPort est un numérique = 587

EmailChangeTimeOut(20)

SI PAS EmailOuvreSessionSMTP(sUser,sPasse,sServeur,xPort,Faux,emailOptionSécuriséTLS) ALORS
Erreur(ErreurInfo(errComplet))
FIN

Email.NbDestinataire = 1
Email.Destinataire = sUser
Email.Expéditeur = sUser // je m'envoie l'email pour test
Email.Sujet = "Test mail"
Email.Message = "Corps du mail "

SI EmailEnvoieMessage(sUser) ALORS
Info("L'email a bien été envoyé")
SINON
Erreur(ErreurInfo(errComplet))
FIN

EmailFermeSession(sUser)


Mais ça ne marche pas. Voilà l'erreur que j'ai :

Appel WL :
Traitement de 'Clic sur BTN_Envoyer_mail' (FEN_Interface.BTN_Envoyer_mail), ligne 8, thread 0
Fonction 'EmailOuvreSessionSMTP', syntaxe 7

Que s'est-il passé ?
Session SMTP : la connexion a échoué. Le serveur ne répond pas.
La socket n'a reçu aucune réponse à sa demande de connexion au bout de 20s.

Code erreur : 100042

Niveau : erreur non fatale

Code d'erreur système : 71

Dump de l'erreur du module 'wd240com.dll' (24.0.42.0).
Informations de débogage :
Fonction (10,70)
Informations supplémentaires :
EIT_PILEWL :
Clic sur BTN_Envoyer_mail (FEN_Interface.BTN_Envoyer_mail), ligne 8
EIT_DATEHEURE : 11/03/2019 11:35:51
EIT_TYPE_WDFILE : <2>
EIT_IDCODE : <18>

Suivi de :
Erreur à la ligne 18 du traitement Clic sur BTN_Envoyer_mail.
Vous avez appelé la fonction EmailEnvoieMessage.
La session de messagerie "s*****.w*****@gmail.com" n'est pas une session valide.


Je suis allée voir si au niveau des paramètres de mon compte Google pour donner l'accès aux applications moins securisée.
Accès moins sécurisé des applications --> activé

ça ne change rien. J'ai modifié la valeur de EmailChangeTimeOut(20) --> la lenteur de ma connexion pouvait être responsable, mais ça n'a rien changé.

Les information (mot de passe, adresse de connexion sont bonnes)

ça a l'air si simple, mais chez moi ça ne marche pas.
Avez vous une idée pour m'aider à trouver ce qui coince ?

D'avance merci pour votre aide
Miembro registrado
194 mensajes
Publicado el 11,marzo 2019 - 12:40
Bonjour

J'ai un petit projet de test d'envoi d'email (en version 21) et je viens de tester l'envoi avec gmail sans souci.
Voici le code du bouton d'envoi (les infos viennent des champs sur la fenêtre) j'espère que cela vous aidera.

// Paramétrage connexion Serveur sMTP
MaSessionSMTP est une emailSessionSMTP
MaSessionSMTP..AdresseServeur = SAI_ServeurSMTP
MaSessionSMTP..Nom = SAI_LoginSMTP
MaSessionSMTP..MotDePasse = SAI_PasswordSMTP
MaSessionSMTP..Port = SAI_PortSMTP
SI INT_Option[1] = Vrai ALORS
MaSessionSMTP..Option = emailOptionSécuriséTLS
SINON
MaSessionSMTP..Option = emailOptionDéfaut
FIN

SAI_Trace = ""
sTrace est une chaîne

// Connexion serveur SMTP
SI EmailOuvreSession(MaSessionSMTP) = Vrai ALORS
sTrace = "Connexion serveur SMTP réussie"
SINON
Erreur("Impossible d'établir la connexion SMTP",ErreurInfo())
sTrace = "Echec de la connexion au serveur SMTP"
FIN
SAI_Trace = sTrace

// Envoi de l'email
sReplyTo est une chaîne = SAI_Expediteur
MonMessage est un Email

MonMessage..Expediteur = Caract(34) + "Test envoi email" + Caract(34) + " <" + sReplyTo + ">"
MonMessage..AdresseExpéditeur = sReplyTo
MonMessage..Destinataire[1] = SAI_Email
MonMessage..Sujet = SAI_Sujet
MonMessage..Message = SAI_Corps
SI INT_Option[2] = Vrai ALORS
EmailImporteHTML(MonMessage,SAI_Corps,"")
MonMessage..Message = HTMLVersTexte(MonMessage..HTML,alphabetOccidental)
FIN

SI EmailEnvoieMessage(MaSessionSMTP,MonMessage,emailOptionEncodeEntête) = Faux ALORS
Erreur("Impossible d'envoyer l'email",ErreurInfo())
sTrace += RC + "Echec de l'envoi du mail"
SINON
sTrace += RC + "Succès de l'envoi d'email"
FIN
SAI_Trace = sTrace
EmailFermeSession(MaSessionSMTP)


--
Côme, Clairinfo
Miembro registrado
365 mensajes
Publicado el 11,marzo 2019 - 14:48
Bonjour et merci pour votre réponse.

J'ai testé et ça ne marche toujours pas. Je sais que votre code est bon, je ne le remet absolument pas en doute.
Mais je ne dois pas comprendre comment remplir les informations.
Je ne comprend vraiment pas pourquoi ça ne veut pas marcher !

J'ai un message "Impossible d'établir la connexion"
Session SMTP : la connexion a échoué. Le serveur ne répond pas.
La connexion a la socket a échoué.
La socket a renvoyé l'erreur système suivante :
<WSAETIMEDOUT>

Je ne sais plus quoi faire... Je me trompes peut être dans les identifiants ?
Si mon adresse mail est : "jean.dupont@gmail.com" et mon mot de passe : "coucou"

On est bien d'accord que :
MaSessionSMTP..AdresseServeur = "smtp.gmail.com"
MaSessionSMTP..Nom = "jean.dupont@gmail.com"
MaSessionSMTP..MotDePasse = "coucou"
MaSessionSMTP..Port = "587"

J'ai faux quelque part ?

Encore merci pour votre aide
Publicado el 11,marzo 2019 - 15:42
Vérifiez sur votre PC si vous n'avez pas l'antivirus ou le firewall qui vous bloque.
Miembro registrado
310 mensajes
Publicado el 11,marzo 2019 - 15:51
Bonjour,
Votre code n'est pas en cause, c'est la configuration du compte Gmail qu'il faut modifier.
Il s'agit d'autoriser l'accès depuis les application faiblement sécurisées, c'est une option à cocher...

Connectez vous à votre compte gmail puis allez sur ce lien :
https://myaccount.google.com/lesssecureapps…


Sinon, vous pouvez aussi enlever l'option SecuriseTLS de votre code.

Bon dev.
Miembro registrado
365 mensajes
Publicado el 11,marzo 2019 - 16:13
Merci Samir pour votre aide, d'avoir des réponses ça m'aide bcp.

Mais j'avais déjà pensé à modifier cette option (Paramètre "Autoriser les applications moins sécurisées" activé)
ça ne change malheureusement rien.

Je vois des tutoriels ou ça fonctionne pour tout le monde. Je ne comprends toujours pas.
Même en supprimant l'option SecuriseTLS de mon code (enfin du code de Côme où j'ai simplement modifié les identifiants)
Miembro registrado
365 mensajes
Publicado el 11,marzo 2019 - 16:15
Je n'avais pas vu votre message BSC ! Merci !

Effectivement ça doit venir de mon antivirus. Je vais regarder de ce coté là. Je ne vois pas d'où ça peut venir si ça n'est pas ça...
Miembro registrado
365 mensajes
Publicado el 11,marzo 2019 - 16:51
Merci ! merci ! et encore merci !

C'est a cause de l'antivirus, vous aviez raison BSC !
Sans l'antivirus tout fonctionne bien ! Email reçu !
Ouf !!!!! Quel soulagement.

Merci a vous tous pour votre aide précieuse !
Miembro registrado
24 mensajes
Publicado el 12,marzo 2019 - 13:15
Avec plaisir
Miembro registrado
82 mensajes
Publicado el 29,noviembre 2019 - 08:32
Fany a écrit :
Merci ! merci ! et encore merci !

C'est a cause de l'antivirus, vous aviez raison BSC !
Sans l'antivirus tout fonctionne bien ! Email reçu !
Ouf !!!!! Quel soulagement.

Merci a vous tous pour votre aide précieuse !


Salut Fany
J'ai le même problème que toi...
Comment as-tu géré le blocage par l'antivirus ?
merci d'avance

Avi
Publicado el 29,noviembre 2019 - 08:57
Mais en quoi l'anti-virus empêcherait l'envoi d'emails? Je ne comprends pas...
Vous avez le même problème avec un autre client de messagerie (genre outlook)?