DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Gestion des emails
  • Protocoles POP3 et SMTP
  • SMTP authentifié
  • Délai de timeout
  • Gestion des emails en mode asynchrone
  • Fonctionnalité d'application requise
  • Gmail : Que faire si une connexion à Gmail (SMTP, IMAP, POP3) échoue avec une erreur de certificat ?
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
Ouvre une session de gestion des emails via le protocole SMTP.
Remarque : Pour ouvrir une session d'envoi des emails (via le protocole SMTP uniquement), utilisez la fonction EmailOuvreSessionSMTP. Cette fonction permet également d'ouvrir une session SMTP authentifiée.
Exemple
// Gestion d'une session email SMTP
MaSessionEmailSMTP est une emailSessionSMTP
SI  MaSessionEmailSMTP.OuvreSession() = Vrai ALORS
	NomUser = MaSessionEmailSMTP..Nom
SINON
	NomUser = ""
	Erreur("Impossible d'établir la connexion")
FIN
Syntaxe
<Résultat> = <Session>.OuvreSession()
<Résultat> : Booléen
  • Vrai si la session a été ouverte,
  • Faux dans le cas contraire. 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.
<Session> : Variable de type emailSessionSMTP
Nom de la variable de type emailSessionSMTP correspondant à la session d'emails à manipuler.
Remarques

Protocoles POP3 et SMTP

Les différents paramètres passés à la fonction <Variable emailSessionSMTP>.OuvreSession sont fournis par le fournisseur de services ou par l'administrateur réseau.
Avant de pouvoir gérer les emails, il est nécessaire d'ouvrir une connexion Internet. Plusieurs cas peuvent se présenter :
  • L'utilisateur utilise une connexion à Internet directe (cable ou ADSL) : aucune opération spécifique ne doit être faite.
  • L'utilisateur utilise un modem pour se connecter à Internet : la fonction NetOuvreAccèsDistant permet d'ouvrir la connexion à Internet.
Par défaut, si seule l'adresse IP du serveur POP3 est précisée, cette adresse sera utilisée par le serveur d'emails utilisant le protocole SMTP. Il est nécessaire de préciser l'adresse IP du protocole SMTP uniquement si le compte POP3 et le compte SMTP ne passent pas par le même poste.

SMTP authentifié

L'authentification SMTP ne peut pas être effectuée avec la fonction <Variable emailSessionSMTP>.OuvreSession. Pour ouvrir à la fois une session POP3 et une session SMTP authentifiée il est nécessaire d'utiliser les deux fonctions EmailOuvreSessionPOP3 et EmailOuvreSessionSMTP.

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 "Configuration").
  2. Activer le mode asynchrone à l'ouverture de la session SMTP (avec la fonction EmailOuvreSessionSMTP ou la fonction <Variable emailSessionSMTP>.OuvreSession).
  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 <Variable emailSessionSMTP>.OuvreSession). Le mode asynchrone est ignoré dans tous les autres cas.
Universal Windows 10 App

Fonctionnalité d'application requise

L'utilisation de cette fonction entraîne la déclaration d'une fonctionnalité d'application dans l'assistant de génération de l'application.
Fonctionnalité requise : Réseaux domestiques et professionnels
Cette fonctionnalité permet aux applications d'utiliser des accès entrants et sortants vers des réseaux domestiques et professionnels.

Gmail : Que faire si une connexion à Gmail (SMTP, IMAP, POP3) échoue avec une erreur de certificat ?

Depuis fin août 2017, Google a déployé un nouveau certificat : Google Internet Authority G3. Malheureusement, l'API Windows utilisée pour la vérification des certificats ne valide pas ce certificat.
L'ouverture d'une session POP3, IMAP ou SMTP peut donc échouer avec le retour "La chaîne de certificats a été fournie par une autorité qui n'est pas approuvée".
Afin de permettre la validation du certificat, il est possible de modifier le mode de gestion des emails. La fonction WLangage EmailParamètre permet de changer ce mode et ainsi de ne plus utiliser l'API Windows qui bloque ce certificat. Voici le code à ajouter avant l'ouverture de la session par la fonction <Variable emailSessionSMTP>.OuvreSession :
// Activation de l'implémentation multiplateforme
EmailParamètre(emailParamètreMode, 1)
Remarques :
  • À partir de la version 23 Update 1, l'appel à la fonction EmailParamètre n'est plus nécessaire : le WLangage utilise automatiquement le mode de gestion des emails adapté à la session.
  • La gestion des erreurs de certificat sur une session SMTP peut être réalisée avec la propriété IgnoreErreur d'une variable de type emailSessionSMTP.
Composante : wd300com.dll
Version minimum requise
  • Version 24
Documentation également disponible pour…
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