PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Gestion des emails en mode asynchrone
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Renvoie l'état d'un email envoyé par une session SMTP ouverte en mode asynchrone.
Versions 23 et supérieures
WEBDEV - Code ServeurLinux Cette fonction est désormais disponible pour les sites WEBDEV sous Linux.
Nouveauté 23
WEBDEV - Code ServeurLinux Cette fonction est désormais disponible pour les sites WEBDEV sous Linux.
WEBDEV - Code ServeurLinux Cette fonction est désormais disponible pour les sites WEBDEV sous Linux.
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é :
emailEnvoyéL'email a été envoyé.
emailEnAttenteL'email est en attente d'émission. Il est dans la file d'attente.
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.
Composantes
WEBDEV - Code Serveur wd230com.dll
Linux wd230com.so
Version minimum requise
  • Version 9
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire