DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Gestion des emails
  • Création d'un profil
  • Délai de timeout
  • 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
Permet d'accéder aux différentes données manipulées par le logiciel de messagerie Outlook (emails, contacts, groupes de contacts, tâches, rendez-vous et dossiers). Cette fonction est identique à OutlookOuvreSession.
Attention : Cette fonction ne permet pas d'accéder aux différentes données manipulées par le logiciel de messagerie Outlook Express.
Remarque : Lors de l'utilisation de la fonction EmailOuvreSessionOutlook, le répertoire en cours est automatiquement modifié par Outlook.
Exemple
// Ouverture de la session
SI EmailOuvreSessionOutlook("MonProfil") <> 0 ALORS
Info("Session ouverte")
SINON
ErreurInfo()
FIN
nIDSessionOutlook est un entier
// Ouvre la session Outlook avec le profile par défaut
nIDSessionOutlook = EmailOuvreSessionOutlook("")
// Session ouverte ?
SI nIDSessionOutlook = 0 ALORS
// Echec d'ouverture de la session
Erreur("Echec d'ouverture de la session Outlook", ErreurInfo())
SINON
// Traitement ici
Info("Liste des dossiers des emails de Outlook :", ...
EmailListeDossier(nIDSessionOutlook))
// Referme la session
EmailFermeSession(nIDSessionOutlook)
FIN
Syntaxe

Ouvrir la session Outlook Masquer les détails

<Résultat> = EmailOuvreSessionOutlook(<Profil>)
<Résultat> : Entier
  • Identifiant de la session.
  • 0 (ou Faux) en cas d'erreur. La variable ErreurDétectée est à Vrai. Pour connaître le libellé de l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Profil> : Chaîne de caractères
Identifie le profil de la connexion (voir Remarques).
Si ce paramètre correspond à une chaîne vide ("") :
  • si plusieurs profils sont définis sur le poste en cours, la fonction EmailOuvreSessionOutlook affiche une fenêtre contenant tous les profils dans laquelle l'utilisateur peut choisir son profil.
  • si un seul profil est défini sur le poste en cours, la fonction EmailOuvreSessionOutlook sélectionne automatiquement ce profil.

Ouvrir la session Outlook en spécifiant le mode de gestion des contacts / participants Masquer les détails

<Résultat> = EmailOuvreSessionOutlook(<Profil> , <Asynchrone> [, <Options d'ouverture>])
<Résultat> : Entier
  • Identifiant de la session.
  • 0 (ou Faux) en cas d'erreur. La variable ErreurDétectée est à Vrai. Pour connaître le libellé de l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Profil> : Chaîne de caractères
Identifie le profil de la connexion (voir Remarques).
Si ce paramètre correspond à une chaîne vide ("") :
  • si plusieurs profils sont définis sur le poste en cours, la fonction EmailOuvreSessionOutlook affiche une fenêtre contenant tous les profils dans laquelle l'utilisateur peut choisir son profil.
  • si un seul profil est défini sur le poste en cours, la fonction EmailOuvreSessionOutlook sélectionne automatiquement ce profil.
<Asynchrone> : Constante ou booléen
Mode d'envoi des emails :
emailAsynchrone ou VraiLes emails envoyés doivent être transmis en mode asynchrone (voir les Remarques).
emailSynchrone ou Faux
(Valeur par défaut)
Les emails envoyés doivent être transmis en mode synchrone (voir les Remarques).
WINDEV Ce paramètre doit correspondre à emailSynchrone ou Faux.
<Options d'ouverture> : Constante de type entier optionnelle
Mode d'ouverture de la session Outlook :
outlookRDVAvecContact
(Valeur par défaut)
Les fonctions RendezVousXXX listeront les contacts associés aux rendez-vous dans la variable mRendezVous.Participant (voir Structure RendezVous).
outlookRDVAvecParticipantLes fonctions RendezVousXXX listeront les participants associés aux rendez-vous dans les variables :
  • mRendezVous.Participant
  • mRendezVous.ParticipantCc
  • mRendezVous.ParticipantCci
Pour plus de détails, consultez Structure RendezVous.
Remarques

Création d'un profil

Pour ouvrir une nouvelle session avec Outlook, il est nécessaire de définir un "profil". Ce "profil" est défini dans la configuration de la connexion Internet avec Outlook.
Pour créer un profil :
  1. Exécutez Outlook.
  2. Dans la fenêtre "Choix d'un profil", cliquez sur [Nouveau].
  3. Sélectionnez le service "Microsoft Exchange Server".
  4. Donnez un nom au profil.
  5. Donnez le nom du serveur Microsoft Exchange.

Délai de timeout

Il est possible de paramétrer le délai de timeout avec la fonction EmailChangeTimeOut.
WEBDEV - Code ServeurAjax

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 la fonction 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 11
Documentation également disponible pour…
Commentaires
Pour passer un email en Lu ou Non Lu sur outlook avec EmailChangeEtat
Pour utiliser EmailChangeEtat sur un session outlook, il faut utiliser EmailChangeEtat avec la syntaxe : <Résultat> = EmailChangeEtat(<Session> , <Email> , <Nouvel état>)

Pour obtenir la <Session>, de type EmailSessionOutlook, il faut ouvrir la session outlook de cette façon :

// Ouverture de la session
nIDSessionOutlook est un entier
MaSession est un EmailSessionOutlook
MaSession..Nom = "Outlook"
nIDSessionOutlook = EmailOuvreSession(MaSession)


Ensuite, après une lecture d'un email "non lu" avec EmailLitPremier(MaSession, unEmail, emailNonLus) par exemple, on peut passer le mail à "lu" avec : EmailChangeEtat(MaSession, unEmail, emailEtatLu)
Daniel
09 aoû. 2017
Attention à la version d'outlook installée
Pour information, si vous utilisez cette commande en exe 32 et que votre outlook est en 64, le emailouvresessionoutlook affiche "il n'existe aucun client de messagerie par défaut" (alors que l'application par défaut est bien outlook)

L'inverse est vrai entre un exe en 64 et un outlook en 32.

Hervé Franco
20 mai 2016

Dernière modification : 21/06/2023

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