PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • 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/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
EmailVérifieAdresse (Fonction)
En anglais : EmailCheckAddress
Vérifie la validité d'une adresse email.
Versions 17 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Versions 22 et supérieures
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 22
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Android Cette fonction est désormais disponible pour les applications Android.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Android Cette fonction est désormais disponible pour les applications Android.
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 (avec guillemets)
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).
AndroidWidget Android 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 TDL de pays est utilisée.
Versions 20 et supérieures
La liste des TLD a été mise à jour avec la liste officielle IANA (Internet Assigned Numbers Authority) de février 2015.
Remarque : Depuis cette mise à jour, les TLD disponibles ont pu évoluer.
Nouveauté 20
La liste des TLD a été mise à jour avec la liste officielle IANA (Internet Assigned Numbers Authority) de février 2015.
Remarque : Depuis cette mise à jour, les TLD disponibles ont pu évoluer.
La liste des TLD a été mise à jour avec la liste officielle IANA (Internet Assigned Numbers Authority) de février 2015.
Remarque : Depuis cette mise à jour, les TLD disponibles ont pu évoluer.
Versions 22 et supérieures
La liste des TLD a été mise à jour avec la liste officielle IANA (Internet Assigned Numbers Authority) de mai 2017.
Remarque : Depuis cette mise à jour, les TLD disponibles ont pu évoluer.
Nouveauté 22
La liste des TLD a été mise à jour avec la liste officielle IANA (Internet Assigned Numbers Authority) de mai 2017.
Remarque : Depuis cette mise à jour, les TLD disponibles ont pu évoluer.
La liste des TLD a été mise à jour avec la liste officielle IANA (Internet Assigned Numbers Authority) de mai 2017.
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'application permet également de gérer plusieurs comptes emails différents. L'écriture d'un email s'appuie sur le champ de saisie HTML.
Composante : wd240com.dll
Version minimum requise
  • Version 14
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire