DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Gestion des emails
  • Présentation de "Simple MAPI"
  • Principe d'utilisation
  • Détail des différentes étapes
  • Étape 1 : Créer un profil utilisateur
  • Étape 2 : Ouverture d'une session de messages
  • Étape 3 : Envoi d'emails
  • Étape 3 bis : Lecture des emails
  • Étape 4 : Fermeture de la session de messages
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
Présentation de "Simple MAPI"
Simple MAPI permet de simplifier la gestion des emails reçus chez l'hébergeur. Lorsqu'un email est lu, il est automatiquement chargé dans la boîte de messages locale et supprimé du serveur (chez l'hébergeur).
Toutes les caractéristiques nécessaires à la gestion des emails (protocole POP3, protocole SMTP, accès distant, etc.) sont regroupées dans le "Profil utilisateur".
Grâce aux fonctions email du WLangage, une application WINDEV ou un site WEBDEV peut manipuler directement les emails gérés dans une application utilisant "Simple MAPI".
Principe d'utilisation
Pour envoyer ou lire des messages grâce à Simple MAPI, il faut :
  1. Décrire un profil utilisateur. Ce profil utilisateur doit être créé directement dans l'application Microsoft de gestion des emails (client MS Exchange par exemple).
  2. Se connecter depuis l'application WINDEV (ou le site WEBDEV) à l'application de gestion des emails (client MS Exchange par exemple) grâce à la fonction EmailOuvreSession.
  3. Envoyer et lire les messages.
  4. Fermer la session avec l'application de gestion des emails (client MS Exchange par exemple) grâce à la fonction EmailFermeSession.
Détail des différentes étapes

Étape 1 : Créer un profil utilisateur

Le profil utilisateur permet de configurer l'application de gestion des emails (client MS Exchange par exemple).
Dans le profil utilisateur sont définis :
  • le protocole SMTP utilisé,
  • le protocole POP3 utilisé,
  • les différents services de communication utilisés. Pour utiliser les fonctions "email" du WLangage, le profil utilisateur doit utiliser le service de communication Microsoft Exchange Server.
Remarque : Il est nécessaire de créer autant de profils sur le poste qu'il y a d'utilisateurs ou de comptes emails différents. Le nom du profil sera ensuite utilisé pour ouvrir la session de messagerie grâce à la fonction EmailOuvreSession.
Pour créer un profil :
  1. Ouvrez le panneau de configuration.
  2. Double-cliquez sur l'option "Courrier".
  3. Cliquez sur le bouton "Afficher les profils".
  4. Dans la fenêtre "Choix d'un profil", cliquez sur le bouton "Ajouter".
  5. Donnez un nom au profil. Ce nom sera utilisé dans les programmes WINDEV.
  6. Sélectionnez l'option "Ajouter un nouveau compte de messagerie".
  7. Sélectionnez le service "Microsoft Exchange Server".
  8. Donnez le nom du serveur Microsoft Exchange.

Étape 2 : Ouverture d'une session de messages

L'ouverture d'une session de messages est réalisée grâce à la fonction EmailOuvreSession. Cette fonction doit être la première fonction "email" utilisée dans votre application WINDEV (ou votre site WEBDEV).
La fonction EmailOuvreSession renvoie l'identifiant de la session. Cet identifiant sera utilisé dans toutes les fonctions de gestion des emails du WLangage.
Exemple : La procédure suivante permet d'ouvrir une session de messagerie à partir d'un profil. En cas d'erreur, la variable Email.Erreur permet d'identifier l'erreur survenue.
FONCTION OuvertureSession(Profil)
// Ouverture de la session
NumSession est un entier
NumSession = EmailOuvreSession(Profil)
SI NumSession = 0 ALORS
Erreur("La session n'a pas pu être ouverte. Erreur : " + Email.Erreur)
FIN
RENVOYER NumSession

Étape 3 : Envoi d'emails

L'envoi d'emails par Simple MAPI est réalisé grâce aux fonctions :
  • EmailEnvoieMessage : cette fonction permet de placer le message dans la boîte d'envoi de l'application de gestion des emails (boîte d'envoi du client MS Exchange par exemple).
  • EmailMiseAJour : cette fonction permet de synchroniser le serveur d'emails et l'application de gestion des emails : les nouveaux emails reçus sont automatiquement transférés dans la boîte de réception, les emails présents dans la boîte d'envoi sont envoyés.
Pour plus de détails sur la création des emails, consultez : Préparer l'envoi d'un email.
Exemple : Le code suivant permet d'envoyer tous les emails présents dans un champ Table par programmation (table "TABLE_AENVOYER") par l'intermédiaire du client MS Exchange. Chaque ligne de la table correspond à un email.
Pour chaque email, les informations présentes dans le champ Table par programmation sont transférées dans la structure email et l'email est envoyé. Le serveur d'emails est ensuite mis à jour.
I est un entier
POUR I = 1 _À_ TableOccurrence(TABLE_AENVOYER)
// Le courrier n'est envoyé qu'à une seule personne
Email.NbDestinataire = 1
Email.Destinataire[1] = ExtraitChaîne(TABLE_AENVOYER[I], 1)
// Sujet et message
Email.Sujet = ExtraitChaîne(TABLE_AENVOYER[I], 2)
Email.Message = ExtraitChaîne(TABLE_AENVOYER[I], 3)
// Pas de fichier attaché
Email.NbAttache = 0
// Envoi du message à MS Exchange
EmailEnvoieMessage(NumSession, Faux)
FIN
// Envoi des messages depuis MS Exchange vers le serveur d'emails
SI PAS EmailMiseAJour(NumSession) ALORS
Erreur("Problème avec MS Exchange. Erreur :" + Email.Erreur)
FIN

Étape 3 bis : Lecture des emails

La lecture d'emails par Simple MAPI est réalisée grâce :
  • à la fonction EmailMiseAJour : cette fonction permet de synchroniser le serveur d'emails et le logiciel de gestion d'emails utilisé : les nouveaux emails reçus sont automatiquement transférés dans la boîte de réception, les emails présents dans la boîte d'envoi sont envoyés.
  • aux fonctions de lecture des emails (EmailLitPremier, EmailLitSuivant, etc.) : ces fonctions permettent d'initialiser la structure email du WLangage avec les caractéristiques de l'email en cours de lecture (auteur de l'email, sujet, etc.).
Pour plus de détails sur la lecture d'emails, consultez : Lire un email.
Exemple : Le code suivant permet de lire des emails. Les emails reçus sont stockés dans un champ Table par programmation (table "TABLE_Messages"). La variable NumSession correspond à l'identifiant de la session. Dans cet exemple, les messages reçus sont supprimés de la boîte de réception et du serveur d'emails par la fonction EmailSupprimeMessage.
// Reçoit les messages en attente qui sont sur le serveur d'emails
SI PAS EmailMiseAJour(NumSession) ALORS
Erreur("Problème avec MS Exchange. Erreur : " + Email.Erreur)
FIN
 
// Lecture du premier message non lu
SI PAS EmailLitPremier(NumSession,"NON LUS") ALORS
Erreur("Erreur lors de la lecture du premier message")
FIN
 
// Parcours des messages non lus avec affichage dans un champ Table par programmation
TableSupprimeTout(TABLE_Messages)
TANTQUE PAS Email.EnDehors
// La date de réception, l'adresse de l'expéditeur et le message
// sont affectés dans la table
TableAjoute(TABLE_Messages, Email.DateRéception + TAB +...
Email.AdresseExpéditeur +TAB +Email.Message)
 
// Suppression du message
SI PAS EmailSupprimeMessage(NumSession) ALORS
Erreur("Erreur lors de la suppression. Le message n'a pas été supprimé")
FIN
// Lecture du message suivant non lu
SI PAS EmailLitSuivant(NumSession, "NON LUS") ALORS
Erreur("Erreur lors de la lecture du message suivant")
FIN
FIN

Étape 4 : Fermeture de la session de messages

Lorsque la gestion des emails reçus et/ou envoyés est terminée, la fermeture de la session est réalisée avec la fonction EmailFermeSession. Cette fonction doit être la dernière fonction "email" utilisée.
Exemple : Le code suivant est une procédure permettant de fermer une session de messagerie. Dans ce code, la variable NumSession correspond à l'identifiant de session renvoyé par la fonction EmailOuvreSession.
PRODEDURE FermetureSession(NumSession)
// Fermeture de la session
EmailFermeSession(NumSession)
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

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