PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → Envoi de mail par smtp
Envoi de mail par smtp
Débuté par vacily.mpeya, 22 juin 2019 15:58 - 4 réponses
Membre enregistré
2 messages
Posté le 22 juin 2019 - 15:58
Bonjour

je suis dans une impasse je voudrais envoyer des mail dans mon programme mai je n'y arrive vous trouver ci dessous le code
utiliser pour l'envoi si quelqu'un a une solution cela me ferais plaisir:

//Déclaration Variable
i est un entier
AdresseTemp est une chaîne

//Affectations des variables d'envoi d'eMail :
Email.AdresseExpéditeur = SAI_ADRESSE_MEL
Email.Expéditeur = smtp.gmail.com
Email.NbDestinataire =1
Email.Destinataire[1] =SAI_ DESTINATAIRE
Email.Sujet = SAI_OBJET_MEL
Email.Message = SAI_MESSAGE_MEL

//Traitement des CC
i = 1
BOUCLE
AdresseTemp = ExtraitChaîne(COPIE,i,";")
SI AdresseTemp <> EOT ALORS
Email.NbCc = i
Email.Cc[i] = AdresseTemp
i++
SINON
SORTIR
FIN
FIN
//Traitement des attachements
Email.NbAttache = 0

//Ouverture de session SMTP
SI EmailOuvreSessionSMTP("mail@gmail.com","Motdepasse",SAI_SERVEUR_SMTP,"465") ALORS
//Envoi du message.
SI EmailEnvoieMessage("mail@gmail.com") ALORS
Info("Votre email a été envoyé")
SINON
Erreur(ErreurInfo())
FIN
SINON
Erreur("Impossible d'ouvrir une session SMTP")
FIN
Posté le 24 juin 2019 - 09:03
Bonjour

je pense qu'il faudrait debugguer pour savoir où cela pêche ?
on ne peux pas savoir si ton smtp curieusement sur 465 est le problème
ou si ta boucle ne rencontre pas de EOT
quels sont tes messages d'erreurs .
pour ta boucle, un
i est un entier=0
POUR TOUTE CHAINE AdresseTemp DE COPIE separée par ";"

si pas EmailValide(AdresseTemp) or AdresseTemp=EOT alors continuer //
j'ignore les mauvais mails
i++;Email.Cc[i] = AdresseTemp
FIN
Email.NbCc = i

ce serait mieux

vacily.mpeya a exposé le 22/06/2019 :
Bonjour

je suis dans une impasse je voudrais envoyer des mail dans mon programme mai
je n'y arrive vous trouver ci dessous le code utiliser pour l'envoi si
quelqu'un a une solution cela me ferais plaisir:

//Déclaration Variable

AdresseTemp est une chaîne

//Affectations des variables d'envoi d'eMail :
Email.AdresseExpéditeur = SAI_ADRESSE_MEL
Email.Expéditeur = smtp.gmail.com
Email.NbDestinataire =1
Email.Destinataire[1] =SAI_ DESTINATAIRE
Email.Sujet = SAI_OBJET_MEL
Email.Message = SAI_MESSAGE_MEL

//Traitement des CC
i = 1
BOUCLE
AdresseTemp = ExtraitChaîne(COPIE,i,";")
SI AdresseTemp <> EOT ALORS
Email.NbCc = i
Email.Cc[i] = AdresseTemp
i++
SINON
SORTIR
FIN
FIN
//Traitement des attachements
Email.NbAttache = 0

//Ouverture de session SMTP
SI
EmailOuvreSessionSMTP("mail@gmail.com","Motdepasse",SAI_SERVEUR_SMTP,"465")
ALORS
//Envoi du message.
SI EmailEnvoieMessage("mail@gmail.com") ALORS
Info("Votre email a été envoyé")
SINON
Erreur(ErreurInfo())
FIN
SINON
Erreur("Impossible d'ouvrir une session SMTP")
FIN


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Membre enregistré
324 messages
Popularité : +21 (51 votes)
Posté le 24 juin 2019 - 09:06
Bonjour,

Plusieurs problème

Email.AdresseExpéditeur = SAI_ADRESSE_MEL
Email.Expéditeur = smtp.gmail.com


L'expéditeur devrait être SAI_ADRESSE_MAIL et non l'adresse du serveur "smtp.gmail.com"

SI EmailOuvreSessionSMTP("mail@gmail.com","Motdepasse",SAI_SERVEUR_SMTP,"465") ALORS


Ici le mail@gmail.com devrait être remplacer par SAI_ADRESSE_MEL également, sinon celà ne fonctionnera pas.

SI EmailOuvreSessionSMTP(SAI_ADRESSE_MEL,SAI_MOT_DE_PASSE,"smtp.gmail.com","587",Faux,emailOptionSécuriséTLS) ALORS


Là ca fonctionne mais attention si la double authentification est activé sur le compte celà donnera ce message d'erreur

Session SMTP, accès refusé.
La dernière réponse du serveur SMTP est : 
<534-5.7.9 Application-specific password required. Learn more at
534 5.7.9  https://support.google.com/mail/?p=InvalidSecondFactor d1sm1733616ejc.72 - gsmtp


Dans le cas présent il faut définir un mot de passe spécifique pour l'accès à ce compte et permettre l'envoie d'email depuis un compte gmail.
https://support.google.com/accounts/answer/185833

De plus les nouvelles politiques google, empêche l'envoi d'email en masse depuis un compte, ils peuvent également bloquer l'envoi pure et simple, en cas "d'abus". Bref dans la mesure du possible, n'utilisez pas gmail pour envoyer des emails.

En espérant que cela vous aide.
Message modifié, 24 juin 2019 - 09:07
Membre enregistré
2 messages
Posté le 24 juin 2019 - 11:04
Merci sa fonctionne :merci:
Membre enregistré
324 messages
Popularité : +21 (51 votes)
Posté le 25 juin 2019 - 13:14
Avec plaisir ;)