DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Gestion des emails
  • Propriétés spécifiques à la description des variables de type emailSessionSMTP
  • Fonctions utilisant les variables de type emailSessionSMTP
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
Le type emailSessionSMTP permet d'accéder à un serveur de messagerie en utilisant le protocole SMTP (Simple Mail Transfer Protocol) afin d'envoyer des messages électroniques. Les caractéristiques de la connexion peuvent être définies et modifiées à l'aide de différentes propriétés WLangage.
Remarques :
  • Pour plus de détails sur la déclaration de ce type de variable et l'utilisation des propriétés WLangage, consultez Déclaration d'une variable.
  • Le serveur SMTP à utiliser est en général le serveur SMTP du fournisseur d'accès à Internet (et non pas celui du compte email). Par exemple, si vous avez un accès Internet Orange et un compte email Free, il faut utiliser le serveur SMTP de Orange et non pas celui de Free. Pour utiliser un serveur SMTP différent, il faut en général utiliser un serveur SMTP authentifié, serveur qui demande la plupart du temps une connexion sécurisée.
Exemple
WINDEVWEBDEV - Code Serveur
// Connexion avec authentification 
// Session SMTP sécurisée TLS
MaSessionSMTP est une emailSessionSMTP
OAuthCnxGoogle est un OAuth2Paramètres

// Paramètres de connexion OAuth
OAuthCnxGoogle.ClientID = "ID de l'application"
OAuthCnxGoogle.ClientSecret = "ID secret de l'application"
OAuthCnxGoogle.URLAuth = "https://accounts.google.com/o/oauth2/auth"
OAuthCnxGoogle.URLToken = "https://accounts.google.com/o/oauth2/token"
OAuthCnxGoogle.Scope = "https://mail.google.com/"
OAuthCnxGoogle.URLRedirection = "http://localhost:9000"
OAuthCnxGoogle.TypeRéponse = oauth2TypeRéponseCode

// Identification OAuth
MaSessionSMTP.AdresseServeur = "smtp.gmail.com"
MaSessionSMTP.Nom = "utilisateur@gmail.com"
MaSessionSMTP.MotDePasse = "secret"
MaSessionSMTP.Port = 587
MaSessionSMTP.Option = emailProtocoleSMTPS
MaSessionSMTP.AuthToken = AuthIdentifie(OAuthCnxGoogle)

// Si l'identification a réussi, il faut se connecter à la boîte email
SI MaSessionSMTP.AuthToken <> Null ALORS
	SI EmailOuvreSession(MaSessionSMTP) = Faux ALORS
		// Erreur d'ouverture de session
		Erreur("Impossible d'ouvrir la session SMTP.", ErreurInfo(), ...
			"En cas de TimeOut, assurez-vous des paramètres du " + ...
			"""Pare-Feu"" sur le port utilisé (" + MaSessionSMTP.Port + ")")
		RETOUR
	FIN
	// Envoi d'un message
	MonEmail est un Email
	...
	EmailEnvoieMessage(MaSessionSMTP, MonEmail)
	...
	EmailFermeSession(MaSessionSMTP)
SINON
	// Erreur d'authentification
FIN
Remarques

Propriétés spécifiques à la description des variables de type emailSessionSMTP

Les propriétés suivantes peuvent être utilisées pour manipuler une variable de type emailSessionSMTP :
Nom de la propriétéType manipulé Effet
AdresseServeurChaîne de caractèresNom DNS ou adresse IP du serveur d'emails (protocole sortant). Cette adresse est fournie par le fournisseur de services ou par l'administrateur réseau.
Attention : Il est nécessaire d'utiliser le serveur SMTP du fournisseur de la connexion Internet. Ce serveur SMTP peut n'avoir aucun lien avec le serveur SMTP associé au compte email.
AsynchroneBooléen ou constante de type Entier
  • emailAsynchrone (ou Vrai) si les emails envoyés lors de la session ouverte avec la fonction EmailOuvreSessionSMTP doivent être transmis en mode asynchrone.
  • emailSynchrone (ou Faux) dans le cas contraire (valeur par défaut).
WINDEVLinuxUniversal Windows 10 AppAndroidWidget AndroidiPhone/iPad Cette propriété n'est pas disponible : l'envoi est toujours synchrone.
AuthTokenVariable de type AuthTokenToken d'accès au serveur d'emails à utiliser en cas d'authentification via le protocole OAuth 2.0 (double authentification). Ce token d'accès a été récupéré via la fonction AuthIdentifie.
LinuxUniversal Windows 10 App Cette propriété n'est pas disponible.
AndroidWidget Android Cette propriété est désormais disponible.
IgnoreErreurConstante de type EntierSpécifie les erreurs ignorées. Correspond à une constante ou une combinaison de constantes :
  • emailSessionIgnoreCertificatInvalide : Le certificat est ignoré.
  • emailSessionIgnoreNomCertificatInvalide : Le nom du site figurant dans le certificat est ignoré.
  • emailSessionIgnoreCertificatExpiré : La date du certificat est ignorée.
  • emailSessionIgnoreRévocation : Le contrôle dans la liste des certificats révoqués est ignoré.
Attention : Cette propriété peut être utilisée uniquement si le fonctionnement des emails utilise l'implémentation gérant le multiplateforme (paramétrée avec la fonction EmailParamètre). Pour gérer cette implémentation, utilisez le code :
EmailParamètre(emailParamètreMode, 1)
MotDePasseChaîne de caractèresMot de passe de l'utilisateur. Ce mot de passe est fourni par le fournisseur de services ou par l'administrateur réseau. Ce mot de passe permet d'ouvrir une session SMTP authentifiée.
NomChaîne de caractèresNom de l'utilisateur utilisé dans le cas des sessions SMTP authentifiées.
OptionConstante de type EntierOptions de la connexion SMTP. Les valeurs possibles sont :
  • emailOptionDéfaut (valeur par défaut) :
    Ouverture d'une session SMTP non sécurisée. Dans ce cas, le port standard est le port 25.
  • emailProtocoleSMTPS :
    Ouverture d'une session SMTP sécurisée par le protocole TLS. Dans ce mode :
    • la connexion initiale est établie non chiffrée, puis une commande STARTTLS est envoyée pour commencer le chiffrement,
    • le port standard est le port 587.
  • optionTLS :
    Ouverture d'une session SMTP sécurisée par le protocole TLS. Dans ce cas, le port standard est le port 465.
Universal Windows 10 App Cette propriété n'est pas gérée.
PortEntierIdentifie le port utilisé pour le protocole SMTP (25 par défaut).

Remarque : Modification du nom des constantes (version 28 Update 4) :
A partir de la version 28 Update 4, les noms des constantes ont été modifiés pour améliorer la lisibilité du code. La correspondance des noms de constantes est la suivante :
  • la constante emailOptionSécuriséTLS est devenue emailProtocoleSMTPS.
  • la constante optionSSL est devenue optionTLS.
Les anciens noms des constantes :
  • ne sont plus colorés dans l'éditeur de code,
  • ne sont plus proposés par la complétion de l'éditeur de code,
  • restent cependant utilisables sans provoquer une erreur de compilation ou un changement de comportement à l'exécution.

Fonctions utilisant les variables de type emailSessionSMTP

EmailEnvoieMessageEnvoie un email selon le protocole utilisé (SMTP, MS Exchange, Lotus Notes, Outlook).
EmailFermeSessionFerme une session de gestion des emails selon le mode choisi (SMTP/POP3, IMAP, MS Exchange ou Lotus Notes).
EmailOuvreSessionOuvre une session de gestion des emails en fonction du mode de gestion choisi (POP3, SMTP, IMAP ou MS Exchange).
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.
Version minimum requise
  • Version 15
Documentation également disponible pour…
Commentaires
Exemple
Attention l'exemple en liens n'utilise pas AuthToken
Dalli
29 sep. 2022

Dernière modification : 21/05/2024

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