[spip-dev] Bug sur les mailto

Bonjour,

ca fait un moment que je n'ai pas suivi les développements. Le bug suivant a
peu être été réglé entre-temps.
Sur ma version de SPIP 1.4c2, il semble que les mailto avec un tiret dans le
nom de domaine ne soient pas interprété correctement.
par exemple [->xxx@arcade-paca.com] est interprété comme un lien vers le
répertoire http://url_du_site/xxx@arcade-paca.com.

Sans le tiret dans l'url, tout se passe comme prévu.
Il va falloir manipuler de l'expression régulière...

Manolo

From fil@miel.brainstorm.fr Mon Jun 24 10:51:24 2002

Return-Path: <fil@miel.brainstorm.fr>
Received: by miel.brainstorm.fr (Postfix, from userid 1001)
  id 452681C08A; Mon, 24 Jun 2002 10:51:24 +0200 (CEST)

Oui, c'est ligne 547 dans ecrire/inc_texte.php3

            else if (ereg("^[[:alnum:]\.]+@[[:alnum:]\.]+$",$lien_url))
                $lien_url = "mailto:".$lien_url;

que faut-il ajouter en plus des '-' ?

Pas de réponse ? Je vais juste mettre '-+=' alors...

-- Fil

ereg("^[[:alnum:]\.]+@[[:alnum:]\.]+$",$lien_url)
que faut-il ajouter en plus des '-' ?

Pas de réponse ? Je vais juste mettre '-+=' alors...

Ou faire plus simple et pourtant déjà plus restrictif :

ereg("^[^@]+@[^@]\.[^@.]+$", $lien_url)

-Nicolas

Il faut aussi "checker" s'il n'y a pas un mailto: devant... Ca ne va
donc pas.

Justement, l'idée est d'éviter au rédacteur de mettre lui même un
mailto, donc on ne va pas non plus tout vérifier, il faut qu'il
respecte la syntaxe.

De plus, il faut pouvoir passer des paramètres tels que le sujet, le
body et autres dans l'URL...

Non, ces conneries ne sont pas standards et ne fonctionnent pas avec
tous les clients mails. Avec certains, on se retrouve avec toute la
chaine dans le champ 'To:' et ça merde.

Sinon, il y a les adresses IPv6, les '%', les '+' dans la partie
utilisateur.

Ca doit passer avec ma proposition de regex.

Mais :
Toto <adresse@host.domain.sufx>
ou
adresse@host.domain.sufx (Toto)
sont acceptables aussi..

Si on indique dans la doc que seule une adresse est valide, pas de
problème avec ces formes non reconnues.

-Nicolas

ereg("^[^@:]+@[^@:]+\.[^@.:]+$", $lien_url)

Je mets ça... (celle de Nico + les deux points.)

-- Fil