DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Gestion des emails
  • Adresse email à vérifier
  • Validation par serveur : Conditions nécessaires
  • Liste des TLD utilisés lors d'une validation syntaxique stricte
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
EmailVérifieAdresse (Fonction)
En anglais : EmailCheckAddress
Vérifie la validité d'une adresse email.
Exemple
SI EmailVérifieAdresse("Moulain@test.fr", emailValideSyntaxe) <> emailAdresseValide ALORS
Erreur("Veuillez vérifier l'adresse email fournie")
FIN
SELON EmailVérifieAdresse("azerty@orange.com")
CAS emailAdresseValide
Info("Adresse valide")
CAS emailAdresseSyntaxeIncorrecte
Info("L'adresse est syntaxiquement fausse.")
CAS emailAdresseRefusée
Info("L'adresse a été refusée par le serveur de mails." + ...
"ErreurInfo permet d'obtenir la cause du refus.")
CAS emailAdresseErreur
Info("Une erreur s'est produite pendant la vérification. " + ...
"ErreurInfo permet d'obtenir le détail de l'erreur.")
AUTRE CAS
Info("Cas indéterminé")
FIN
Syntaxe
<Résultat> = EmailVérifieAdresse(<Adresse> [, <Niveau de validation>])
<Résultat> : Constante de type Entier
Constante permettant de savoir si l'adresse passée en paramètre est valide :
emailAdresseErreurUne erreur s'est produite pendant la vérification. La fonction ErreurInfo permet d'obtenir le détail de l'erreur.
emailAdresseRefuséeL'adresse a été refusée par le serveur de mails. La fonction ErreurInfo permet d'obtenir la cause du refus.
emailAdresseSyntaxeIncorrecteL'adresse est syntaxiquement fausse.
emailAdresseValideL'adresse est valide. Il sera possible d'utiliser la fonction EmailEnvoieMessage avec cette adresse.
Remarque : Un temps d'attente peut être nécessaire selon le temps de réponse du serveur contacté.
<Adresse> : Chaîne de caractères
Adresse email à vérifier.
<Niveau de validation> : Constante de type entier optionnelle
Type de validation souhaité. Il est possible d'utiliser une des constantes suivantes :
emailValideParServeurVérifie que le serveur d'emails SMTP du domaine auquel appartient l'adresse accepte l'adresse en entrée. La vérification de la syntaxe de l'adresse email est automatiquement effectuée (constante emailValideSyntaxe).
LinuxAndroidWidget AndroidiPhone/iPadWidget IOS Cette constante n'est pas disponible.
emailValideSyntaxe
(Valeur par défaut)
Vérifie la syntaxe de l'adresse email. Le TLD (Top Level Domain) n'est pas vérifié.
emailValideSyntaxeStrictVérifie la syntaxe de l'adresse email ainsi que le TLD (Top Level Domain) par rapport à la liste des TLD existants (voir Remarques).
Java Cette constante n'est pas disponible.
Remarques

Adresse email à vérifier

  • Les adresses email de la forme "@[nom de domaine].tld" bien que valides syntaxiquement au regard de la norme RFC822 ne sont pas acceptées par la fonction EmailVérifieAdresse.
  • Si le <Niveau de validation> correspond à la constante emailValideSyntaxe, l'adresse email peut contenir un TLD vide (par exemple "toto@domaine.").
  • Si le <Niveau de validation> correspond à la constante emailValideParServeur ou emailValideSyntaxeStrict, l'adresse email ne peut pas contenir de TLD vide (par exemple "toto@domaine."). Dans ce cas, <Résultat> vaut emailAdresseSyntaxeIncorrecte.

Validation par serveur : Conditions nécessaires

Pour utiliser la validation par serveur (constante emailValideParServeur), l'application doit pouvoir contacter :
  • un serveur DNS (par UDP sur le port 53),
  • le serveur d'emails du domaine auquel appartient l'adresse à valider (par TCP, port 25).
Il peut donc être nécessaire de paramétrer le ou les pare-feu d'une manière spécifique.
Attention : Il est possible dans certains cas qu'un serveur d'emails accepte une adresse inexistante (par exemple, lorsque le serveur est un serveur de relais qui n'a pas accès à la liste des comptes du domaine pour lequel il collecte les mails). Dans ce cas, <Résultat> correspondra à la constante emailAdresseValide même si l'adresse est inexistante. De plus, le temps d'attente pourra être relativement long avant de récupérer la réponse du serveur.
Remarque : Le serveur d'emails SMTP interrogé est retrouvé par l'enregistrement MX (Mail Exchanger) du domaine de l'adresse email.

Liste des TLD utilisés lors d'une validation syntaxique stricte

Lors d'une vérification syntaxique stricte (constante emailValideSyntaxeStrict), une liste de TLD internationaux et de TLD de pays est utilisée.
La liste des TLD a été mise à jour avec la liste officielle IANA (Internet Assigned Numbers Authority) de mai 2021.
Remarque : Depuis cette mise à jour, les TLD disponibles ont pu évoluer.
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.
Composante : wd290com.dll
Version minimum requise
  • Version 14
Documentation également disponible pour…
Commentaires
Liste des TLD utilisés lors d'une validation syntaxique stricte
Quelle est la liste des TLD utilisés lors d'une validation syntaxique stricte, pour chaque version de WebDev et WinDev ?
Florian
14 avr. 2021

Dernière modification : 28/06/2023

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