Module de Validation des adresses mail

Ce module vous offre la possibilité de vérifier la validité des adresses mail inscrites dans les champs prévus à cet effet :

  • Adaptabilité aux champs standard JCMS comme aux champs email personnalisés (auxquels la classe "custom-control-email" devra être ajoutée)
  • Exclusion des adresses mail dont le domaine n'est pas valide, des adresses temporaires et jetables mais également de toute adresse dont le domaine est présent dans une liste noire personnalisable

Il permet également de bloquer l'envoie du formulaire en cas d'adresse mail invalide.

Module Module de Validation des adresses mail- Illustration

Themes : Sécurité, Tests
Version 1.0
Compatibility : JCMS 9

Documentation

Introduction

Le module de validation d’adresse e-mail permet d’automatiser la validation des champs emails des différents formulaires utilisés sur le site.

Il fournit un service de validation basé sur :

  • Une vérification syntaxique
  • Une vérification des adresses mail jetables
  • Une vérification au sein d’une liste noire
  • Une validation DNS (vérifie si le domaine de l’adresse mail possède des serveurs MX)

 

Exemples d'apparence d'un champ à valider lorsque l'adresse est valide, syntaxiquement incorrecte ou invalide :

 

module de validation de mail exemple3


module de validation de mail exemple2

  

Informations techniques

Compatibilité JCMS

Ce module est compatible sur les versions :

  • JCMS 9 SP1
  • JCMS 9 SP2 
  • JCMS 9 SP3
  • JCMS 9 SP4

 

Compatibilité JSync

Ce module est compatible jSync, il fonctionnera sans problème sur un environnement à plusieurs réplicas.

 

Compatibilité JDK

Ce module est compatible avec la version 1.7 de JDK (Java Development Kit). Si vous êtes sur la version 1.6 de JDK, contactez-nous.

 

Prérequis

Pour une meilleure compréhension et utilisation de ce module, il est conseillé d’avoir suivi les formations JCMS suivantes :

  • Formation d’administrateur technique
  • Formation d’administrateur fonctionnel

 

Ce module ne dépend d’aucun autre module.

 

Installation du module

Ajouter ce module avec le gestionnaire de modules depuis l’administration technique et redémarrer JCMS.

 

Paramétrage

Liste des propriétés

Editez le module pour paramétrer ou modifier ses propriétés :

Propriété

Nom technique

Description

Vérifier les éléments du front office

jcmsplugin.emailvalidatorplugin.1.front

Activer cette fonctionnalité permet de rendre effective la vérification des adresses mail pour les champs du front office.

Vérifier les éléments du back office

jcmsplugin.emailvalidatorplugin.2.back

Activer cette fonctionnalité permet de rendre effective la vérification des adresses mail pour les champs du back office.

Vérifier si l'adresse mail est jetable

jcmsplugin.emailvalidatorplugin.3.verifydaelist

Si vous activez cette fonctionnalité, les adresses dont le domaine fournit des adresses jetables seront bloquées. La liste des adresses jetables est définie dans la propriété "jcmsplugin.emailvalidatorplugin.daelist". Pour modifier cette liste, il vous suffit d'éditer cette propriété. La liste d'origine que nous avons utilisé est disponible à cette adresse : https://github.com/FGRibreau/mailchecker/blob/master/list.json. La dernière version de cette liste que nous avons récupérée pour ce module date du 28/11/2016.

Liste des domaines indésirables

jcmsplugin.emailvalidatorplugin.4.blacklist

Indiquez dans cette propriété les domaines qui doivent être rejetés, séparés par des virgules. Ces domaines seront considérés comme non valides.

Exemple : « gmail.com, hotmail.fr, outlook.com »

Durée maximale de vérification

jcmsplugin.emailvalidatorplugin.5.timeout

Indiquez dans cette propriété la durée en millisecondes permettant la vérification de l'adresse mail (durée minimale de 3000 ms).

Exemple : « 3000 »

Bloquer la soumission du formulaire si l'adresse est invalide  js.emailvalidatorplugin.blocksubmit Si vous activez cette fonctionnalité, le formulaire contenant le champ email ne sera pas soumis si l'adresse saisie est invalide (un champ email laissé vide est considéré comme valide pour ne pas bloquer le formulaire si le champ n'est pas requis).
Vérifier les champs email standard JCMS  js.emailvalidatorplugin.defaultcontrol Activer cette fonctionnalité permet de rendre effective la vérification des adresses mail pour tous les champs standard JCMS (champs possédant la classe "control-email"). Pour vérifier des champs non standards, merci d’ajouter la classe "custom-control-email" sur l’élément de type « input » destiné à recevoir l’adresse mail.
Afficher les messages d'information lors de la saisie d'une mauvaise adresse mail js.emailvalidatorplugin.showmessage Si vous activez cette fonctionnalité, des messages d'information apparaîtront dans un "popover" sous le champ email lorsque la saisie de ce dernier est invalide.

 

Enregistrement des nouvelles propriétés

Les changements de valeur des propriétés sont pris en compte directement lors de l'enregistrement sans avoir besoin de redémarrer l'application.

 

FAQ

Pour modifier les libellés des messages d’information, nous vous recommandons d’utiliser notre module d’éditions des propriétés en back office. Vous pourrez ainsi modifier les libellés comme vous le souhaitez dans avoir besoin de redémarrer l’application. Vous pouvez également éditer directement les fichiers de langue (fr.prop et en.prop) mais un redémarrage du serveur sera nécessaire pour appliquer les modifications.

Si vous ajoutez un domaine dans la liste noire, tout utilisateur renseignant une adresse mail se terminant par ce domaine verra s’afficher le message suivant : « Le domaine de l'adresse mail saisie n'est pas autorisée. S'il vous plaît, veuillez utiliser une autre adresse. ». La liste noire est prioritaire sur la liste des adresses jetables ce qui signifie que si vous ajoutez un domaine dans la liste noire déjà présent dans la liste des adresses jetables, c’est le message ci-dessus qui sera affiché.

Si la fonctionnalité « bloquer la soumission du formulaire » est activée, tout utilisateur entrant une mauvaise adresse se verra refusé la soumission du formulaire. En revanche, s’il laisse le champ vide, la soumission n’est pas bloquée ce qui permet de soumettre le formulaire si le champ n’est pas obligatoire.

La liste des adresses jetables est visible dans le fichier de propriétés du module (plugin.prop). Sa dernière mise à jour au sein du plugin date du 28/11/2016. Elle se base sur un document disponible à cette adresse :

https://github.com/FGRibreau/mailchecker/blob/master/list.json#

Vous pouvez modifier la liste manuellement dans le fichier plugin.prop du module en prenant garde à bien respecter la syntaxe (identique à la liste noire : domaines séparés par des virgules). Vous pouvez également la modifier grâce à notre module d’édition des propriétés en back office afin de ne pas redémarrer l’application.

Ce module vérifie si l’adresse mail est correctement formée et si elle appartient bien à un domaine connu. Il vérifie également qu’elle ne fasse pas partie des adresses jetables. Cependant, il nous est impossible de garantir que l’adresse existe belle et bien car nous ne vérifions pas l’information auprès du serveur pour deux raisons :

  • Récupérer cette information prend plus de temps (en moyenne 3 secondes)
  • Le serveur peut nier l’existence d’une adresse ou au contraire retourner qu’elles existent toutes (moyens de protection mis en place contre le spam).

Nous ne pouvons donc pas obtenir de réponse parfaitement exacte concernant l’existence d’une adresse email même si dans la plupart des cas cette réponse s’avère exacte. Cette fonctionnalité a été développée pour ce module mais n’est pas présente dans cette version. Elle peut être mise en place dans le cadre de besoins spécifiques. Pour cela, n'hésitez pas à nous contacter.

Les serveurs MX (Mail eXchanger) sont des serveurs mail que vous définissez dans la zone DNS de votre nom de domaine. Ce sont ces serveurs qui recevront les mails du nom de domaine.



Glossary

A

ACSII

L'American Standard Code for Information Interchange (Code américain normalisé pour l'échange d'information), plus connu sous l'acronyme ASCII ([askiː]) est une norme de codage de caractères en informatique ancienne. Le jeu de caractères codés ASCII est le principal système qui a permis l'échange de textes en anglais à un niveau mondial, limitant ainsi l'usage des langues locales au travers d'extensions régionales.

Translation: fr ACSII ·

Actions entrantes & actions sortantes

Ces actions sont paramétrables dans les workflows. Elles définissent l’entrée ou la sortie d’un état de workflow. Une action entrante signifie l’arrivée dans un état du workflow (ex : une publication qui est planifié). Une action sortante signifie la sortie d’un état vers un autre (ex : une publication qui passe de l’état planifié vers l’état publié).

Translation: fr Actions entrantes & actions sortantes ·

C

Classe

En programmation orientée objet, une classe définie un ensemble d’objets ayant des attributs communs, et le même ensemble d'opérations.

Translation: fr Classe ·

J

Jsync

Jsync est un moteur de réplication des données et des fichiers. La tâche principale de JSync est de synchroniser les données d'un groupe de serveurs JCMS (aussi appelés réplicas), et de répartir la charge de ces serveurs. Ainsi, toute création, modification ou suppression de données (catégorie, membre, contenu, …) sur l'un des réplicas sera propagée par le réplica leader aux réplicas membres du groupe. JSync assure ainsi la cohérence globale des données d'un groupe de serveur JCMS. Ajouter un lien vers la fiche jsync sur jalios.com.

Translation: fr Jsync ·

L

LOG

Correspond à un historique d’évènements stockés dans un fichier, appelé fichier de log (diminutif de logging), permettant de suivre et repérer toutes activités du site. Les évènements sont horodatés et ordonnés en fonction du temps.

Translation: fr LOG ·

LOG4J

Log4j est une bibliothèque de log en Java. Elle permet entre autres de gérer plusieurs niveaux de log :
- FATAL: utilisé pour journaliser une erreur grave pouvant mener à l'arrêt prématuré de l'application
- ERROR: utilisé pour journaliser une erreur qui n'empêche cependant pas l'application de fonctionner
- WARN: utilisé pour journaliser un avertissement, il peut s'agir par exemple d'une incohérence dans la configuration, l'application peut continuer à fonctionner mais pas forcément de la façon attendue
- INFO: utilisé pour journaliser des messages à caractère informatif (nom des fichiers, etc.)
- DEBUG: utilisé pour générer des messages pouvant être utiles au débogage
- TRACE: utilisé par exemple pour journaliser l'entrée ou la sortie d'une méthode

Translation: fr LOG4J ·

M

MailPolicyFilter

Il s’agit d’un point de débranchement (hook) intervenant lors de l’envoi d’un e-mail dans JCMS. Plus détails ici.

Translation: fr MailPolicyFilter ·

Modale

Fenêtre s'ouvrant dynamiquement généralement pour une action précise : déposer un document, initier une conversation, planifier un événement,... fenêtre appelant une action de l'utilisateur.

Translation: fr Modale ·

N

Notifications email

Il s’agit de notifications transmises par email à un ou plusieurs utilisateurs JCMS. Ces emails permettent d’alerter, informer ou d’envoyer un rappel aux utilisateurs concernant un évènement passé ou à venir, d’une action traitée ou à traiter. Sous JCMS, il existe 3 types de notification : INFO, ACTION, ALERTE.

Translation: fr Notifications email ·

P

Portail

Un portail permet d’agréger et de personnaliser des informations de provenances multiples pour en offrir une vision unique. On distingue les portails documentaires étroitement liés à la gestion de contenu, et les portails d’infrastructure liés à des problématiques d’intégration d’applications.

Translation: fr Portail ·

Portlet

Elément de portail. Il existe différents types de portlets : - portlets de construction de page
- portlets de contenu (en charge de récupérer et de formater l'information),
- portlets de navigation,
- portlets fonctionnelles,
- portlets de log.
L'assemblage des différents types de portlets permet de construire des gabarits de page portail.

Translation: fr Portlet ·

S

SEO

Le SEO (Search Engine Optimization) signifie en français "Optimisation pour les moteurs de recherche". Ce terme défini l'ensemble des techniques mises en oeuvres pour améliorer la position d'un site web sur les pages de résultats des moteurs de recherche.

Translation: fr SEO ·

Store

Fichier .xml stockant des données sur les publications, les portlets, les espaces de travails, et d'autres fonctionnalités propres à JCMS. Certaines données de l'application peuvent aussi être stockées en base.

Voir les contenus liés :
- Fiche "Utiliser le store" (fiche Jalios ou Wisen)
- Fiche "Nettoyer le store" (fiche Jalios ou Wisen)
- Autre entrée de glossaire

Translation: fr Store ·

T

Top-bar

La top-bar ou super-header correspond à la barre de menu affichée en haut de page : topbar

Translation: fr Top-bar ·

W

Wiki

Le wiki est une site Web ou page web collaborative dont le contenu peut être modifié par les internautes autorisés.

Translation: fr Wiki ·

Workflow

Les circuits de validation (ou workflow) permettent de gérer les cycles de vie des contenus dans l’outil. Ils sont paramétrables et personnalisables par contenu.

Translation: fr Workflow ·

Wysiwyg

WYSIWYG (What You See Is What You Get), en français « ce que vous voyez est ce que vous obtenez », s'applique aux éditeurs de texte et outils de présentation qui permettent d'éditer directement un contenu sous la forme qui sera affichée aux utilisateurs finaux.

Translation: fr Wysiwyg ·