DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Gestion des emails
  • Principe
  • Lire un email (variable de type Email) : Les différentes étapes
  • Exemple
  • Lire un email (structure Email) : Les différentes étapes
  • Exemple
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
Principe
Cette page d'aide présente comment lire un email depuis une application WINDEV et afficher son contenu dans une application WINDEV.
L'email est lu grâce aux différentes fonctions du WLangage (EmailLitPremier, EmailLitSuivant, ...).
Le contenu de l'email peut être connu :
  • dans une variable de type Email. Les variables de type Email permettent de manipuler plusieurs emails simultanément.
  • grâce à la structure Email. Les différentes variables de cette structure contiennent toutes les informations concernant l'email lu.
Les variables de la structure Email (ainsi que les propriétés des variables de type Email) correspondent à l'ensemble des caractéristiques d'un email.
Lire un email (variable de type Email) : Les différentes étapes
Pour lire un email en WLangage, les différentes étapes sont les suivantes :
  1. Utilisez une fonction de lecture des emails pour parcourir tous les emails d'une session de messagerie, plusieurs syntaxes sont possibles :
    • Faire une boucle de la forme :
      MaSession est une emailSessionPOP3
      MonMessage est un Email
      EmailLitPremier(MaSession, MonMessage)
      TANTQUE PAS MonMessage.EnDehors
      // Insérer ici le traitement du message
      EmailLitSuivant(MaSession, MonMessage)
      FIN
    • Récupérer directement un tableau de tous les messages avec la fonction EmailRécupèreTout :
      MaSession est une emailSessionPOP3
      MesMessages est un tableau de Email = EmailRécupèreTout(MaSession)

      Remarques :
      • En utilisant le protocole POP3, les emails reçus pouvant être lus sont les emails qui ont été reçus au moment de l'ouverture de la session. Tous les emails reçus au cours de la session ne sont pas "visibles". Pour accéder aux nouveaux mails reçus, il faut donc fermer la session puis la ré-ouvrir.
      • Il est possible de suivre la progression de la lecture de l'email grâce à la fonction EmailJauge.
  2. Lisez le contenu de la variable de type Email.
    Remarque : Si l'email contient des entêtes spécifiques, il est possible de les lire grâce à la variable de type Email.
  3. Si la propriété HTML n'est pas vide : le message est au format HTML. Il doit être affiché dans un navigateur (voir exemple ci-dessous).
    Pour chaque fichier attaché :
    • Sauvegardez le fichier sur le disque (fonction EmailSauveFichierAttaché).
    • Parcourez le message HTML en recherchant la valeur "cID:"+Identifiant du fichier attaché. Remplacez cette valeur par le chemin complet du fichier attaché copié sur le disque.
      Affichez le message dans un navigateur.
  4. Si la propriété HTML est vide : le message est au format texte.
  5. Sauvegardez les fichiers attachés si nécessaire sur le disque et affichez le texte du message.

Exemple

MonMessage est un Email
...
Repert_Temp est une chaîne = "C:\temp\"
CID est une chaîne
I est un entier
// Pour chaque fichier attaché
Attachement est un emailAttache
POUR TOUT Attachement DE MonMessage.Attache
// Copier le fichier dans un répertoire temporaire
EmailSauveFichierAttaché(Attachement, Repert_Temp + Attachement.Nom)
// Récupérer l'identifiant du fichier attaché dans le mail
CID = "cid:" + Attachement.Identifiant
// Remplacer les références au fichier attaché par le nom réel du fichier
MonMessage.HTML = Remplace(MonMessage.HTML, CID, ...
"file:" + Repert_Temp + Attachement.Nom)
FIN
// Afficher le contenu HTML dans un champ HTML
HTM_Affichage = MonMessage.HTML
Lire un email (structure Email) : Les différentes étapes
Pour lire un email en WLangage, les différentes étapes sont les suivantes :
  1. Utilisez une fonction de lecture des emails (EmailLitPremier, EmailLitSuivant, ...). Il est possible de suivre la progression de la lecture de l'email grâce à la fonction EmailJauge.
  2. Lisez le contenu de la structure email (voir exemple ci-dessous).
  3. Si la variable Email.HTML n'est pas vide : le message est au format HTML. Il doit être affiché dans un navigateur.
    Pour chaque fichier attaché (variable Email.NbAttache non vide) :
    • Sauvegardez le fichier sur le disque (fonction EmailSauveFichierAttaché).
    • Parcourez le message HTML en recherchant la valeur "cID:"+Email.IdentifiantAttache du fichier attaché. Remplacez cette valeur par le chemin complet du fichier attaché copié sur le disque.
    • Affichez le message dans un navigateur.
  4. Si la variable Email.HTML est vide : le message est au format texte.
  5. Sauvegardez les fichiers attachés si nécessaire sur le disque et affichez le texte du message.
Remarque : En utilisant le protocole POP3, les emails reçus pouvant être lus sont les emails qui ont été reçus au moment de l'ouverture de la session. Tous les emails reçus au cours de la session ne sont pas "visibles". Pour accéder aux nouveaux mails reçus, il faut donc fermer la session puis la ré-ouvrir.

Exemple

Repert_Temp est une chaîne = "C:\temp\"
CID est une chaîne
I est un entier
 
// Pour chaque fichier attaché
POUR I = 1 À Email.NbAttache
// Copier le fichier dans un répertoire temporaire
EmailSauveFichierAttaché(Email.Attache[I], ...
Repert_Temp + Email.Attache[I])
// Récupérer l'identifiant du fichier attaché dans le mail
CID = "cid:" + Email.IdentifiantAttache[I]
// Remplacer les références au fichier attaché
// par le nom réel du fichier
Email.HTML = Remplace(Email.HTML, CID, "file:" + ...
Repert_Temp + Email.Attache[I])
FIN
 
// Afficher le contenu HTML dans un Browser WEB
// Créer un fichier temporaire contenant le HTML
NomFic est une chaîne = Repert_Temp + "temp.htm"
hFic est un entier = fOuvre(NomFic, foCréation + foEcriture)
fEcrit(hFic, Email.HTML, Taille(Email.HTML))
fFerme(hFic)
 
// Fournir le fichier HTML temporaire au browser
// navigateur_WEB est un champ ActiveX "Microsoft Web Browser"
navigateur_WEB>>Navigate(NomFic)
Liste des exemples associés :
WD Mail Exemples complets (WINDEV) : WD Mail
[ + ] Cette application est un client mail complet développé en WINDEV. Il s'appuie sur les objets Email.
Ce client mail permet de récupérer et d'envoyer des emails en utilisant les protocoles POP, IMAP et SMTP.
Il est possible d'appliquer des filtres sur le courrier entrant.
L'écriture d'un email s'appuie sur le champ Editeur HTML.
L'affichage des emails utilise le champ Affichage HTML.
L'application permet de gérer plusieurs comptes emails différents.
Les fonctions Email POP3 Exemples unitaires (WINDEV) : Les fonctions Email POP3
[ + ] Utilisation des fonctions Email pour gérer le protocole POP3.
Ce protocole sert à récupérer des emails depuis un serveur.
WD JavaMail Exemples didactiques (WINDEV) : WD JavaMail
[ + ] Cet exemple est un exemple Java permettant de de lire et envoyer des emails.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 22/06/2023

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