DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Gestion des emails
  • Gestion des emails en mode asynchrone
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Renvoie l'état d'un email envoyé par une session SMTP ouverte en mode asynchrone.
Exemple
// Envoi d'un email par le protocole SMTP
SI EmailOuvreSession(USER, PASSWORD, "pop3.ifrance.fr", ...
"smtp.ifrance.fr", 110, 25, Vrai) = Vrai ALORS
NomUser = USER
SINON
NomUser = ""
Erreur("Impossible d'établir la connexion")
FIN
 
// Initialisation de la structure email
Email.Destinataire = "support@pcsoft.fr"
Email.Expéditeur = "Tartampion@boite.net.fr"
Email.Message = "Test Auto eMail"
Email.NbDestinataire = 1
 
// Envoi du mail
SI EmailEnvoieMessage(NomUser) = Faux ALORS
Erreur("EmailEnvoieMessage a échoué '" + ErreurInfo(errMessage) + "'")
SINON
Info("EmailEnvoieMessage a réussi")
FIN
...
// Suivi de l'email
SELON EmailEtat(Email.IdentifiantMail)
CAS emailEnvoyé : Trace("L'email a été envoyé")
CAS emailEnAttente : Trace("Email en cours de traitement")
CAS emailErreur : Trace("Erreur : " + ErreurInfo(errMessage))
FIN
Syntaxe
<Résultat> = EmailEtat(<Identifiant de l'email>)
<Résultat> : Constante
Etat d'envoi de l'email indiqué :
emailEnAttenteL'email est en attente d'émission. Il est dans la file d'attente.
emailEnvoyéL'email a été envoyé.
emailErreurUne erreur est survenue. Les informations sur l'erreur peuvent être connues avec la fonction ErreurInfo(errMessage).
<Identifiant de l'email> : Entier
Identifiant de l'email (variable Email.IdentifiantMail ou propriété ID de la variable de type Email initialisée lors de l'envoi de l'email avec les fonctions EmailEnvoie et EmailEnvoieMessage).
Remarques

Gestion des emails en mode asynchrone

Par défaut, les fonctions Email sont bloquantes. Cela signifie que pendant leur exécution, aucun autre code ne peut être exécuté. Le programme continuera de s'exécuter uniquement lorsque l'exécution des fonctions Email sera terminée.
WEBDEV offre la possibilité de gérer les emails en mode asynchrone. Ce mode permet à vos sites d'envoyer des emails sans bloquer l'exécution des différents traitements.
Pour utiliser le mode asynchrone , il faut :
  1. Décocher l'option "Désactiver le spooler de mail" dans l'administrateur WEBDEV (onglet "Avancé").
  2. Activer le mode asynchrone à l'ouverture de la session SMTP (avec la fonction EmailOuvreSessionSMTP ou EmailOuvreSession).
  3. Tous les emails à envoyer seront transmis à un "spooleur". Les emails sont ainsi mis en file d'attente avant d'être envoyés.
L'exécution des fonctions Email n'est alors plus bloquante pour le reste du programme. La fonction EmailEtat permet de connaître l'état d'un email.
Remarque : Si l'administrateur WEBDEV est fermé, le spooler d'emails est vidé : les emails en attente ne sont pas envoyés et sont enlevés du spooler.
Si vous cochez l'option "Désactiver le spooler de mail" alors que des emails sont en attente, ces emails ne seront pas perdus : l'administrateur continue de les envoyer, mais aucun nouveau mail ne sera accepté par le spooler.
Attention : Le mode asynchrone est utilisable uniquement lors de l'ouverture d'une session sur un serveur SMTP (fonction EmailOuvreSessionSMTP pour l'envoi d'emails ou fonction EmailOuvreSession). Le mode asynchrone est ignoré dans tous les autres cas.
Composante : wd290com.dll
Version minimum requise
  • Version 9
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 21/06/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale