FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
envoir Email en SMTP - supprimer destinataire
envoir Email en SMTP - supprimer destinataire
Débuté par JVE, 14 avr. 2021 18:15 - 3 réponses
Connectez-vous…
JVE
#1
Membre enregistré
48 messages
Posté le 14 avril 2021 - 18:15
Bonjour
A la suite d'une requête SQL, je souhaite envoyé un e-mail à chaque enregistrement (correspondant à un employé avec des données RH à transmettre). L'envoi des e-mail fonctionne parfaitement mais je n'arrive pas à supprimer le destinataire (son adresse email) après chaque enregistrement de la requête (utilisation de "Ajoute(MonMessage..Destinataire,EmailEmployé)"). En fait, je "cumule" les destinataires sans les supprimer ou les remplacer. Je n'ai pas trouvé la fonction ou ligne de code permettant ceci. Avez vous une idée de mon erreur ou de la fonction pour supprimer les destinataires? J'ai essayé avec "MonMessage..Destinataire=EmailEmployé" ou "MonMessage..Destinataire="" sans succès.
Merci pour votre aide.
Voici le code :
// Connexion au server SMTP
gSessionSMTP
..
AdresseServeur
=
"smtp.gmail.com"
gSessionSMTP
..
Nom
=
"xx"
gSessionSMTP
..
MotDePasse
=
"xx"
gSessionSMTP
..
Port
=
587
gSessionSMTP
..
Option
=
emailOptionSécuriséTLS
SI PAS
EmailOuvreSession
(
gSessionSMTP
)
ALORS
Erreur
(
"Impossible de se connecter au serveur SMTP!"
,
ErreurInfo
(
)
)
RETOUR
FIN
// Exécution requête - lecture données - envoie emails
SI
HExécuteRequêteSQL
(
ResDonneeEmploye
,
hRequêteDéfaut
,
ChaîneConstruit
(
DonneeEmploye
,
DateDeb
,
DateFin
)
)
ALORS
HLitPremier
(
ResDonneeEmploye
)
TANTQUE
HTrouve
(
ResDonneeEmploye
)
SI
SansEspace
(
ResDonneeEmploye.EMAIL
)
<
>
""
ALORS
EmailEmployé
=
SansEspace
(
ResDonneeEmploye.EMAIL
)
NbJourForfait
=
Val
(
ResDonneeEmploye.FORFAIT
)
NbJourTr
=
Val
(
ResDonneeEmploye.NBJTR
)
NbJourCongé
=
Val
(
ResDonneeEmploye.NBJRCONG
)
Message
=
"Bonjour "
MonMessage
..
Expediteur
=
"xx"
MonMessage
..
AdresseExpéditeur
=
"xx"
MonMessage
..
Sujet
=
"xx"
Ajoute
(
MonMessage
..
Destinataire
,
EmailEmployé
)
//MonMessage..Destinataire=EmailEmployé // bug - ligne de code non fonctionnelle
MonMessage
..
Message
=
Message
SI
EmailEnvoieMessage
(
gSessionSMTP
,
MonMessage
)
=
Faux
ALORS
Erreur
(
"Message non envoyé!"
,
ErreurInfo
(
)
)
SINON
NbEmailEnvoyé
+
+
EmailRAZ
(
)
FIN
FIN
HLitSuivant
(
ResDonneeEmploye
)
FIN
SINON
Erreur
(
ErreurInfo
(
)
)
FIN
HLibèreRequête
(
DonneeEmploye
)
EmailFermeSession
(
gSessionSMTP
)
Signaler
0
0
Dominique Bodin
#2
Posté le 14 avril 2021 - 18:34
Bonjour,
la variable MonMessage..Destinataire est un tableau de chaines, il faut le vider comme tu viderais un tableau
TableauSupprimeTout ou VariableRAZ devraient faire l'affaire.
Cordialement
Signaler
0
0
Voroltinquo
#3
Membre enregistré
3 878 messages
Popularité : +227 (347 votes)
Posté le 14 avril 2021 - 19:58
Bonjour,
Destinataire est un tableau de chaines cf
https://doc.pcsoft.fr/?3032029&name=structure_email
, il suffit de le traiter comme tel via TableauCherche et TableauSupprime
--
Il y a peut être plus simple, mais, ça tourne
Signaler
0
0
Thierry
#4
Membre enregistré
30 messages
Popularité : +3 (3 votes)
Posté le 15 avril 2021 - 09:24
Bonjour
Dans ton exemple de code, EmailRAZ() ne réiitialise pas ta variable Email MonMessage mais la structure Email.
Pour réinitialiser la variable de type Email MonMessage, il faut écrire EmailRAZ(MonMessage)
Bon développement
Thierry Chateau-Darnis
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte