[SPIP Zone] verification des emails sur spip-listes (fonction email_valide())

sur spip-listes, il me semble qu'il y a un pb de verification sur les emails au moment de l'abonnement

test ne passe pas
test@test passe

ne faudrait pas verifer la presence d'au moins un point apres l'arobase dans la regex d'email_valide() ?
if (!preg_match('#^[^()<>@,;:\\"/[:space:]]+(@([-_0-9a-z]+\.)*[-_0-9a-z]+)$#i', $adresse))

--
_________________________________________
http://www.erational.org

Personnellement,

En javascript, je fais cette vérification :
/^[a-zA-Z]+([_\.-]?[a-zA-Z0-9]+)*@[a-zA-Z]+([_\.-]?[a-zA-Z0-9]+)*(\.[a-zA-Z]
{2,3})+$/

C'est-à-dire : des lettres suivies éventuellement de (point, tiret ou
underscore et de lettres ou chiffres) suivi d'un arobase et d'une série de
lettres suivies éventuellement de (point, tiret ou underscore et de lettres
ou chiffres) suivi d'un point et de deux ou trois lettres (suivi
éventuellement d'autres points et lettres).

Ce qui rend valide des choses comme abc@free.fr, abc.4qd6-qsd7@free.com,
abc@free.cop.ek .

Ça ne vaut pas la vraie de vraie
(http://www.regular-expressions.info/email.html ), mais elle sera plus
rapide.

Voila, si ça peut servir.

Cédric D.

-----Message d'origine-----
De : spip-zone-bounces@rezo.net [mailto:spip-zone-bounces@rezo.net] De la
part de erational
Envoyé : mardi 6 mars 2007 10:35
À : spip-zone@rezo.net
Objet : [SPIP Zone] verification des emails sur spip-listes
(fonctionemail_valide())

sur spip-listes, il me semble qu'il y a un pb de verification sur les
emails au moment de l'abonnement

test ne passe pas
test@test passe

ne faudrait pas verifer la presence d'au moins un point apres l'arobase
dans la regex d'email_valide() ?
if
(!preg_match('#^[^()<>@,;:\\"/[:space:]]+(@([-_0-9a-z]+\.)*[-_0-9a-z]+)$#i',

$adresse))

--
_________________________________________
http://www.erational.org

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Hello,

J'ai remis sur spip-listes la fonction email valide de spip. Auparavent, la regex était plus stricte mais on ne profitait pas des mises à jour de spip.

Donc je crois que la question se pose en fait pour spip.

BoOz

erational a écrit :

sur spip-listes, il me semble qu'il y a un pb de verification sur les emails au moment de l'abonnement

test ne passe pas
test@test passe

ne faudrait pas verifer la presence d'au moins un point apres l'arobase dans la regex d'email_valide() ?
if (!preg_match('#^[^()<>@,;:\\"/[:space:]]+(@([-_0-9a-z]+\.)*[-_0-9a-z]+)$#i', $adresse))

oui, je serais pour une regex un peu plus stricte
sur la fonction email_valide() de spip

du genre:
if (!preg_match("/^([\w|\.|\-|_]+)@([\w||\-|_]+)\.([\w|\.|\-|_]+)$/i", $adressel)) {
       

Hello,

J'ai remis sur spip-listes la fonction email valide de spip. Auparavent, la regex était plus stricte mais on ne profitait pas des mises à jour de spip.

Donc je crois que la question se pose en fait pour spip.

BoOz

erational a écrit :

sur spip-listes, il me semble qu'il y a un pb de verification sur les emails au moment de l'abonnement

test ne passe pas
test (a) test passe

ne faudrait pas verifer la presence d'au moins un point apres l'arobase dans la regex d'email_valide() ?
if (!preg_match('#^[^()<>@,;:\\"/[:space:]]+(@([-_0-9a-z]+\.)*[-_0-9a-z]+)$#i', $adresse))

--
_________________________________________

Oui c'est un débat récurrent ici.

En fait selon la rfc (882?) "toto" est une adresse valide (locale comme dit Nicolas si je ne dis pas de bétises), donc spip se cale +/- la dessus.

Du coup, on peut décider de forker dans spip listes mais il faudra maintenenir ca en parallele.

L'ideal serait de surcharger la fonction pour en garder le nom dans le code, ou sinon, on peut mettre la regex stricte sur le formulaire d'abonnement, et laisser email valide ailleurs, ca evite de changer partout.

BoOz

erational a écrit :

oui, je serais pour une regex un peu plus stricte
sur la fonction email_valide() de spip

du genre:
if (!preg_match("/^([\w|\.|\-|_]+)@([\w||\-|_]+)\.([\w|\.|\-|_]+)$/i", $adressel)) {
      

Hello,

J'ai remis sur spip-listes la fonction email valide de spip. Auparavent, la regex était plus stricte mais on ne profitait pas des mises à jour de spip.

Donc je crois que la question se pose en fait pour spip.

BoOz

erational a écrit :

sur spip-listes, il me semble qu'il y a un pb de verification sur les emails au moment de l'abonnement

test ne passe pas
test (a) test passe

ne faudrait pas verifer la presence d'au moins un point apres l'arobase dans la regex d'email_valide() ?
if (!preg_match('#^[^()<>@,;:\\"/[:space:]]+(@([-_0-9a-z]+\.)*[-_0-9a-z]+)$#i', $adresse))

En fait selon la rfc (882?) "toto" est une adresse valide (locale comme
dit Nicolas si je ne dis pas de bétises), donc spip se cale +/- la dessus.

On peut aussi mettre quelque chose de mieux dans le core. Il faut tenir
compte du fait que '' et 'fil@rezo.net, booz@rezo.net' sont deux champs
emails "valides" au sens de SPIP.

-- Fil