J'ai encore des soucis et pas avec un mailto, mais tout bêtement avec la
fonction mail (PHP). Je pense néanmoins que ma question a plus sa place ici
que sur fr.comp.lang.php.
J'ai une page qui envoie un message au propriétaire du site lorsqu'un
utilisateur entre un témoignage (via un formulaire). Il n'y a évidemment
pas de .... mais des valeurs de session que je récupère.
Le bout de programme concerné est fait ainsi :
$entetes="From: ".
"Reply-To: ".$courriel."n".
"Return-path: ".
"MIME-Version: 1.0n".
"Content-Type:text/plain; charset=iso-8859-15n".
"Content-Transfer-Encoding: 8bitn";
$sujet="Nouveau témoignage sur le site de xxxxx";
[...]
Si j'envoie ce courriel chez moi et que je le lis avec Becky, tout est
normal, il n'y a strictement aucun problème.
[...]
Et le problème est que lorsque c'est lui qui récupère les messages (ce qui
est le fonctionnement normal),systématiquement, la première lettre du sujet
(un N, en l'occurrence) disparaît corps et biens, le titre devient « ouveau
témoignage sur le site de xxxxx » !
J'ai encore des soucis et pas avec un mailto, mais tout bêtement avec la
fonction mail (PHP). Je pense néanmoins que ma question a plus sa place ici
que sur fr.comp.lang.php.
J'ai une page qui envoie un message au propriétaire du site lorsqu'un
utilisateur entre un témoignage (via un formulaire). Il n'y a évidemment
pas de .... mais des valeurs de session que je récupère.
Le bout de programme concerné est fait ainsi :
$entetes="From: postmaster@monbeaudomaine.frn".
"Reply-To: ".$courriel."n".
"Return-path: postmaster@monbeaudomaine.frn".
"MIME-Version: 1.0n".
"Content-Type:text/plain; charset=iso-8859-15n".
"Content-Transfer-Encoding: 8bitn";
$sujet="Nouveau témoignage sur le site de xxxxx";
[...]
Si j'envoie ce courriel chez moi et que je le lis avec Becky, tout est
normal, il n'y a strictement aucun problème.
[...]
Et le problème est que lorsque c'est lui qui récupère les messages (ce qui
est le fonctionnement normal),systématiquement, la première lettre du sujet
(un N, en l'occurrence) disparaît corps et biens, le titre devient « ouveau
témoignage sur le site de xxxxx » !
J'ai encore des soucis et pas avec un mailto, mais tout bêtement avec la
fonction mail (PHP). Je pense néanmoins que ma question a plus sa place ici
que sur fr.comp.lang.php.
J'ai une page qui envoie un message au propriétaire du site lorsqu'un
utilisateur entre un témoignage (via un formulaire). Il n'y a évidemment
pas de .... mais des valeurs de session que je récupère.
Le bout de programme concerné est fait ainsi :
$entetes="From: ".
"Reply-To: ".$courriel."n".
"Return-path: ".
"MIME-Version: 1.0n".
"Content-Type:text/plain; charset=iso-8859-15n".
"Content-Transfer-Encoding: 8bitn";
$sujet="Nouveau témoignage sur le site de xxxxx";
[...]
Si j'envoie ce courriel chez moi et que je le lis avec Becky, tout est
normal, il n'y a strictement aucun problème.
[...]
Et le problème est que lorsque c'est lui qui récupère les messages (ce qui
est le fonctionnement normal),systématiquement, la première lettre du sujet
(un N, en l'occurrence) disparaît corps et biens, le titre devient « ouveau
témoignage sur le site de xxxxx » !
"Content-Type:text/plain; charset=iso-8859-15n".
^^
Attention : si j'en crois ma compréhension du RFC 2822, l'espace n'est
effectivement pas obligatoire après le deux-points, mais vu que tout le
monde la met il vaudrait mieux faire pareil. Ce sera plus lisible, et
comportera moins de risques d'être mal interprété à l'arrivée.
Donc :
"Content-Type:text/plain; charset=iso-8859-15n".
"Content-Type:text/plain; charset=iso-8859-15n".
^^
Attention : si j'en crois ma compréhension du RFC 2822, l'espace n'est
effectivement pas obligatoire après le deux-points, mais vu que tout le
monde la met il vaudrait mieux faire pareil. Ce sera plus lisible, et
comportera moins de risques d'être mal interprété à l'arrivée.
Donc :
"Content-Type:text/plain; charset=iso-8859-15n".
"Content-Type:text/plain; charset=iso-8859-15n".
^^
Attention : si j'en crois ma compréhension du RFC 2822, l'espace n'est
effectivement pas obligatoire après le deux-points, mais vu que tout le
monde la met il vaudrait mieux faire pareil. Ce sera plus lisible, et
comportera moins de risques d'être mal interprété à l'arrivée.
Donc :
"Content-Type:text/plain; charset=iso-8859-15n".
Bof... tu aurais pu hésiter entre fr.comp.lang.php et fr.comp.mail,
mais je ne vois pas bien le rapport avec fciw.auteurs. Pas grave, je
vais répondre quand même.
Je suppose que $courriel est fixé en dur plutôt que de venir de
l'extérieur (formulaire ou session). Dans le cas contraire, ton script
serait une aubaine pour les spammeurs.
Attention : si j'en crois ma compréhension du RFC 2822, l'espace n'est
effectivement pas obligatoire après le deux-points, mais vu que tout
le monde la met il vaudrait mieux faire pareil. Ce sera plus lisible,
et comportera moins de risques d'être mal interprété à l'arrivée.
Donc :
"Content-Type:text/plain; charset=iso-8859-15n".
"Content-Transfer-Encoding: 8bitn";
$sujet="Nouveau témoignage sur le site de xxxxx";
^
Alors qu'on pouvait éventuellement compter sur le dialogue entre
navigateur et courrielleur pour corriger cela dans le cas d'un lien
mailto, ici c'est toi qui formates le message, et donc les caractères
non ascii sont interdits dans un champ d'entête.
Donc :
$sujet="Nouveau =?ISO-8859-15?Q?témoignage?= sur le site de xxxxx"
ou :
$sujet="=?ISO-8859-15?Q?Nouveau_témoignage_sur_le_site_de_xxxxx?="
etc.
Si j'envoie ce courriel chez moi et que je le lis avec Becky, tout
est normal, il n'y a strictement aucun problème.
... preuve que ce n'est pas plus un problème de page web que de code
PHP.
Très bizarre, comme comportement. Mais essaye déjà de virer l'accent
ou d'encoder le tout au format MIME... si ça ne marche pas, tu peux
aussi tenter de mettre une espace au début du titre ! ;-)
Bof... tu aurais pu hésiter entre fr.comp.lang.php et fr.comp.mail,
mais je ne vois pas bien le rapport avec fciw.auteurs. Pas grave, je
vais répondre quand même.
Je suppose que $courriel est fixé en dur plutôt que de venir de
l'extérieur (formulaire ou session). Dans le cas contraire, ton script
serait une aubaine pour les spammeurs.
Attention : si j'en crois ma compréhension du RFC 2822, l'espace n'est
effectivement pas obligatoire après le deux-points, mais vu que tout
le monde la met il vaudrait mieux faire pareil. Ce sera plus lisible,
et comportera moins de risques d'être mal interprété à l'arrivée.
Donc :
"Content-Type:text/plain; charset=iso-8859-15n".
"Content-Transfer-Encoding: 8bitn";
$sujet="Nouveau témoignage sur le site de xxxxx";
^
Alors qu'on pouvait éventuellement compter sur le dialogue entre
navigateur et courrielleur pour corriger cela dans le cas d'un lien
mailto, ici c'est toi qui formates le message, et donc les caractères
non ascii sont interdits dans un champ d'entête.
Donc :
$sujet="Nouveau =?ISO-8859-15?Q?témoignage?= sur le site de xxxxx"
ou :
$sujet="=?ISO-8859-15?Q?Nouveau_témoignage_sur_le_site_de_xxxxx?="
etc.
Si j'envoie ce courriel chez moi et que je le lis avec Becky, tout
est normal, il n'y a strictement aucun problème.
... preuve que ce n'est pas plus un problème de page web que de code
PHP.
Très bizarre, comme comportement. Mais essaye déjà de virer l'accent
ou d'encoder le tout au format MIME... si ça ne marche pas, tu peux
aussi tenter de mettre une espace au début du titre ! ;-)
Bof... tu aurais pu hésiter entre fr.comp.lang.php et fr.comp.mail,
mais je ne vois pas bien le rapport avec fciw.auteurs. Pas grave, je
vais répondre quand même.
Je suppose que $courriel est fixé en dur plutôt que de venir de
l'extérieur (formulaire ou session). Dans le cas contraire, ton script
serait une aubaine pour les spammeurs.
Attention : si j'en crois ma compréhension du RFC 2822, l'espace n'est
effectivement pas obligatoire après le deux-points, mais vu que tout
le monde la met il vaudrait mieux faire pareil. Ce sera plus lisible,
et comportera moins de risques d'être mal interprété à l'arrivée.
Donc :
"Content-Type:text/plain; charset=iso-8859-15n".
"Content-Transfer-Encoding: 8bitn";
$sujet="Nouveau témoignage sur le site de xxxxx";
^
Alors qu'on pouvait éventuellement compter sur le dialogue entre
navigateur et courrielleur pour corriger cela dans le cas d'un lien
mailto, ici c'est toi qui formates le message, et donc les caractères
non ascii sont interdits dans un champ d'entête.
Donc :
$sujet="Nouveau =?ISO-8859-15?Q?témoignage?= sur le site de xxxxx"
ou :
$sujet="=?ISO-8859-15?Q?Nouveau_témoignage_sur_le_site_de_xxxxx?="
etc.
Si j'envoie ce courriel chez moi et que je le lis avec Becky, tout
est normal, il n'y a strictement aucun problème.
... preuve que ce n'est pas plus un problème de page web que de code
PHP.
Très bizarre, comme comportement. Mais essaye déjà de virer l'accent
ou d'encoder le tout au format MIME... si ça ne marche pas, tu peux
aussi tenter de mettre une espace au début du titre ! ;-)
Je suppose que $courriel est fixé en dur plutôt que de venir de
l'extérieur (formulaire ou session). Dans le cas contraire, ton script
serait une aubaine pour les spammeurs.
Non, il vient bel et bien de l'extérieur. On vérifie que l'on a affaire à
un humain et non à un robot en demandant le résultat d'une petite addition
de 2 nombres générés aléatoirement. J'ai plusieurs formulaires qui
fonctionnent comme ça sur différents sites, je n'y ai JAMAIS vu un spam. Si
cela se produisait, je pense que je mettrais un captcha, quoique je n'aime
guère ces trucs.
[...]Très bizarre, comme comportement. Mais essaye déjà de virer l'accent
ou d'encoder le tout au format MIME... [...]
Je suppose que $courriel est fixé en dur plutôt que de venir de
l'extérieur (formulaire ou session). Dans le cas contraire, ton script
serait une aubaine pour les spammeurs.
Non, il vient bel et bien de l'extérieur. On vérifie que l'on a affaire à
un humain et non à un robot en demandant le résultat d'une petite addition
de 2 nombres générés aléatoirement. J'ai plusieurs formulaires qui
fonctionnent comme ça sur différents sites, je n'y ai JAMAIS vu un spam. Si
cela se produisait, je pense que je mettrais un captcha, quoique je n'aime
guère ces trucs.
[...]
Très bizarre, comme comportement. Mais essaye déjà de virer l'accent
ou d'encoder le tout au format MIME... [...]
Je suppose que $courriel est fixé en dur plutôt que de venir de
l'extérieur (formulaire ou session). Dans le cas contraire, ton script
serait une aubaine pour les spammeurs.
Non, il vient bel et bien de l'extérieur. On vérifie que l'on a affaire à
un humain et non à un robot en demandant le résultat d'une petite addition
de 2 nombres générés aléatoirement. J'ai plusieurs formulaires qui
fonctionnent comme ça sur différents sites, je n'y ai JAMAIS vu un spam. Si
cela se produisait, je pense que je mettrais un captcha, quoique je n'aime
guère ces trucs.
[...]Très bizarre, comme comportement. Mais essaye déjà de virer l'accent
ou d'encoder le tout au format MIME... [...]
D'accord. Cela limite pas mal les risques en effet. Mais pour limiter
encore plus je te suggère, si ce n'est pas déjà fait, d'au moins
supprimer tous les r et n de cette variable avant de la mettre dans
le champ d'entête Reply-To :
$courriel = preg_replace("/[rn]/", "", $courriel);
[...]Très bizarre, comme comportement. Mais essaye déjà de virer l'accent
ou d'encoder le tout au format MIME... [...]
Tu nous tiens au courant ?
D'accord. Cela limite pas mal les risques en effet. Mais pour limiter
encore plus je te suggère, si ce n'est pas déjà fait, d'au moins
supprimer tous les r et n de cette variable avant de la mettre dans
le champ d'entête Reply-To :
$courriel = preg_replace("/[rn]/", "", $courriel);
[...]
Très bizarre, comme comportement. Mais essaye déjà de virer l'accent
ou d'encoder le tout au format MIME... [...]
Tu nous tiens au courant ?
D'accord. Cela limite pas mal les risques en effet. Mais pour limiter
encore plus je te suggère, si ce n'est pas déjà fait, d'au moins
supprimer tous les r et n de cette variable avant de la mettre dans
le champ d'entête Reply-To :
$courriel = preg_replace("/[rn]/", "", $courriel);
[...]Très bizarre, comme comportement. Mais essaye déjà de virer l'accent
ou d'encoder le tout au format MIME... [...]
Tu nous tiens au courant ?
$courriel = preg_replace("/[rn]/", "", $courriel);
J'ai une regexp qui vérifie que l'adresse courriel ressemble à une adresse
courriel :
elseif (!ereg("^([a-zA-Z0-9]+(([.-_]?[a-zA-Z0-9]+)+)?)@(([a-zA-Z0-
9]+[.-_])+[a-zA-Z]{2,4})$",$courriel))
Ce n'est évidemment pas moi qui l'ai créée, mais à l'usage, elle filtre
bien les adresses malformées et ne semble pas renvoyer de faux positif
(mais bon, qu'est-ce qui est parfait en ce bas monde ? (-: )
$courriel = preg_replace("/[rn]/", "", $courriel);
J'ai une regexp qui vérifie que l'adresse courriel ressemble à une adresse
courriel :
elseif (!ereg("^([a-zA-Z0-9]+(([.-_]?[a-zA-Z0-9]+)+)?)@(([a-zA-Z0-
9]+[.-_])+[a-zA-Z]{2,4})$",$courriel))
Ce n'est évidemment pas moi qui l'ai créée, mais à l'usage, elle filtre
bien les adresses malformées et ne semble pas renvoyer de faux positif
(mais bon, qu'est-ce qui est parfait en ce bas monde ? (-: )
$courriel = preg_replace("/[rn]/", "", $courriel);
J'ai une regexp qui vérifie que l'adresse courriel ressemble à une adresse
courriel :
elseif (!ereg("^([a-zA-Z0-9]+(([.-_]?[a-zA-Z0-9]+)+)?)@(([a-zA-Z0-
9]+[.-_])+[a-zA-Z]{2,4})$",$courriel))
Ce n'est évidemment pas moi qui l'ai créée, mais à l'usage, elle filtre
bien les adresses malformées et ne semble pas renvoyer de faux positif
(mais bon, qu'est-ce qui est parfait en ce bas monde ? (-: )
En effet, ça suffit pour empêcher le détournement du formulaire à fin
de spam. Mais cette ereg fait partie des expressions rationnelles
fascistes qui refusent mon adresse... et la tienne aussi ! Tout ceci
pour une complexité inutile. Parmi ses autres bugs, il y a
l'impossibilité de mettre un TLD de plus de 4 caractères, ou de mettre
deux - d'affilée.
Je te conseille plutôt ceci :
elseif (!preg_match('/^[.A-Za-z0-9+_-]+@[.A-Za-z0-9-]+$/',
$courriel))
(cf. <http://faqfclphp.free.fr/#rub5.3>)
Tu ne l'as donc pas essayée sur chaton.tigre+, ou
om+, ou encore Je peux te
garantir que mon adresse est valide, d'ailleurs tu peux m'y envoyer
un courrier en privé pour voir.
Sans atteindre la perfection, ne pas rejeter des adresses couramment
utilisées serait quand même un + (sic).
En effet, ça suffit pour empêcher le détournement du formulaire à fin
de spam. Mais cette ereg fait partie des expressions rationnelles
fascistes qui refusent mon adresse... et la tienne aussi ! Tout ceci
pour une complexité inutile. Parmi ses autres bugs, il y a
l'impossibilité de mettre un TLD de plus de 4 caractères, ou de mettre
deux - d'affilée.
Je te conseille plutôt ceci :
elseif (!preg_match('/^[.A-Za-z0-9+_-]+@[.A-Za-z0-9-]+$/',
$courriel))
(cf. <http://faqfclphp.free.fr/#rub5.3>)
Tu ne l'as donc pas essayée sur chaton.tigre+spam@alussinan.org, ou
om+news@miakinen.net, ou encore example@example.museum. Je peux te
garantir que mon adresse est valide, d'ailleurs tu peux m'y envoyer
un courrier en privé pour voir.
Sans atteindre la perfection, ne pas rejeter des adresses couramment
utilisées serait quand même un + (sic).
En effet, ça suffit pour empêcher le détournement du formulaire à fin
de spam. Mais cette ereg fait partie des expressions rationnelles
fascistes qui refusent mon adresse... et la tienne aussi ! Tout ceci
pour une complexité inutile. Parmi ses autres bugs, il y a
l'impossibilité de mettre un TLD de plus de 4 caractères, ou de mettre
deux - d'affilée.
Je te conseille plutôt ceci :
elseif (!preg_match('/^[.A-Za-z0-9+_-]+@[.A-Za-z0-9-]+$/',
$courriel))
(cf. <http://faqfclphp.free.fr/#rub5.3>)
Tu ne l'as donc pas essayée sur chaton.tigre+, ou
om+, ou encore Je peux te
garantir que mon adresse est valide, d'ailleurs tu peux m'y envoyer
un courrier en privé pour voir.
Sans atteindre la perfection, ne pas rejeter des adresses couramment
utilisées serait quand même un + (sic).
Quand je disais que la perfection n'est pas de ce bas monde (: Mais bon,
fasciste, t'y vas fort...
Je te conseille plutôt ceci :
elseif (!preg_match('/^[.A-Za-z0-9+_-]+@[.A-Za-z0-9-]+$/',
$courriel))
(cf. <http://faqfclphp.free.fr/#rub5.3>" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://faqfclphp.free.fr/#rub5.3>)
Grmpf. J'en ai testé et retesté des regexp de vérification des adresses
courriel. Je suis prête à parier que j'ai déjà testée celle-ci et si je
l'ai laissée, c'est qu'elle doit laisser passer certaines anomalies.
Tu ne l'as donc pas essayée sur chaton.tigre+, ou
om+, ou encore Je peux te
garantir que mon adresse est valide, d'ailleurs tu peux m'y envoyer
un courrier en privé pour voir.
chaton.tigre+ n'est pas censée être utilisée, ce qui fait
que je ne l'ai pas testée...
Sans atteindre la perfection, ne pas rejeter des adresses couramment
utilisées serait quand même un + (sic).
À titre personnel, j'ai rien contre les adresses courriel qui contiennent
un + ... (-:
Quand je disais que la perfection n'est pas de ce bas monde (: Mais bon,
fasciste, t'y vas fort...
Je te conseille plutôt ceci :
elseif (!preg_match('/^[.A-Za-z0-9+_-]+@[.A-Za-z0-9-]+$/',
$courriel))
(cf. <http://faqfclphp.free.fr/#rub5.3>)
Grmpf. J'en ai testé et retesté des regexp de vérification des adresses
courriel. Je suis prête à parier que j'ai déjà testée celle-ci et si je
l'ai laissée, c'est qu'elle doit laisser passer certaines anomalies.
Tu ne l'as donc pas essayée sur chaton.tigre+spam@alussinan.org, ou
om+news@miakinen.net, ou encore example@example.museum. Je peux te
garantir que mon adresse est valide, d'ailleurs tu peux m'y envoyer
un courrier en privé pour voir.
chaton.tigre+spam@alussinan.org n'est pas censée être utilisée, ce qui fait
que je ne l'ai pas testée...
Sans atteindre la perfection, ne pas rejeter des adresses couramment
utilisées serait quand même un + (sic).
À titre personnel, j'ai rien contre les adresses courriel qui contiennent
un + ... (-:
Quand je disais que la perfection n'est pas de ce bas monde (: Mais bon,
fasciste, t'y vas fort...
Je te conseille plutôt ceci :
elseif (!preg_match('/^[.A-Za-z0-9+_-]+@[.A-Za-z0-9-]+$/',
$courriel))
(cf. <http://faqfclphp.free.fr/#rub5.3>" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://faqfclphp.free.fr/#rub5.3>)
Grmpf. J'en ai testé et retesté des regexp de vérification des adresses
courriel. Je suis prête à parier que j'ai déjà testée celle-ci et si je
l'ai laissée, c'est qu'elle doit laisser passer certaines anomalies.
Tu ne l'as donc pas essayée sur chaton.tigre+, ou
om+, ou encore Je peux te
garantir que mon adresse est valide, d'ailleurs tu peux m'y envoyer
un courrier en privé pour voir.
chaton.tigre+ n'est pas censée être utilisée, ce qui fait
que je ne l'ai pas testée...
Sans atteindre la perfection, ne pas rejeter des adresses couramment
utilisées serait quand même un + (sic).
À titre personnel, j'ai rien contre les adresses courriel qui contiennent
un + ... (-:
Ah, c'est que tu veux être un peu fasciste quand même.
Dans ce cas,
prends la première version de <http://faqfclphp.free.fr/#rub5.3> :
$ltext = '[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+';
$rtext = '[A-Za-z0-9-]+';
$pattern = ":^$ltext(.$ltext)*@$rtext(.$rtext)+$:";
if (preg_match($pattern, $email)) { ... }
Elle contrôlera qu'il n'y a pas deux « . » de suite, ni un « . » au
début ou à la fin de chacune des parties gauche et droite. Mais bien
sûr elle n'interdira ni les adresses plussées, ni celles en .museum,
ni celles contenant deux traits d'union de suite (chose courante si
je me rappelle bien avec les noms de domaine internationalisés, mais
aussi avec la récente loi française de formation des noms après le
mariage).
Cela dit, il ne sert à rien de tester toutes les anomalies : si
quelqu'un veut mettre une adresse invalide dans ton formulaire, il
choisira plus facilement un truc du genre de « »
que du genre de « bzz{+--@&..museum », et ton contrôle n'y verra
que du feu.
Ah. Ben si tu ne la lis jamais, tu peux rajouter .invalid derrière,
c'est plus propre. Note que les adresses en alussinan.org rejettent
pas mal de courriels légitimes de toute façon (ça m'est arrivé il y a
quelques semaines encore avec l'adresse de Luc Bentz chez alussinan).
Ah, c'est que tu veux être un peu fasciste quand même.
Dans ce cas,
prends la première version de <http://faqfclphp.free.fr/#rub5.3> :
$ltext = '[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+';
$rtext = '[A-Za-z0-9-]+';
$pattern = ":^$ltext(.$ltext)*@$rtext(.$rtext)+$:";
if (preg_match($pattern, $email)) { ... }
Elle contrôlera qu'il n'y a pas deux « . » de suite, ni un « . » au
début ou à la fin de chacune des parties gauche et droite. Mais bien
sûr elle n'interdira ni les adresses plussées, ni celles en .museum,
ni celles contenant deux traits d'union de suite (chose courante si
je me rappelle bien avec les noms de domaine internationalisés, mais
aussi avec la récente loi française de formation des noms après le
mariage).
Cela dit, il ne sert à rien de tester toutes les anomalies : si
quelqu'un veut mettre une adresse invalide dans ton formulaire, il
choisira plus facilement un truc du genre de « blabla@yahoo.fr »
que du genre de « bzz{+--@&..museum », et ton contrôle n'y verra
que du feu.
Ah. Ben si tu ne la lis jamais, tu peux rajouter .invalid derrière,
c'est plus propre. Note que les adresses en alussinan.org rejettent
pas mal de courriels légitimes de toute façon (ça m'est arrivé il y a
quelques semaines encore avec l'adresse de Luc Bentz chez alussinan).
Ah, c'est que tu veux être un peu fasciste quand même.
Dans ce cas,
prends la première version de <http://faqfclphp.free.fr/#rub5.3> :
$ltext = '[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+';
$rtext = '[A-Za-z0-9-]+';
$pattern = ":^$ltext(.$ltext)*@$rtext(.$rtext)+$:";
if (preg_match($pattern, $email)) { ... }
Elle contrôlera qu'il n'y a pas deux « . » de suite, ni un « . » au
début ou à la fin de chacune des parties gauche et droite. Mais bien
sûr elle n'interdira ni les adresses plussées, ni celles en .museum,
ni celles contenant deux traits d'union de suite (chose courante si
je me rappelle bien avec les noms de domaine internationalisés, mais
aussi avec la récente loi française de formation des noms après le
mariage).
Cela dit, il ne sert à rien de tester toutes les anomalies : si
quelqu'un veut mettre une adresse invalide dans ton formulaire, il
choisira plus facilement un truc du genre de « »
que du genre de « bzz{+--@&..museum », et ton contrôle n'y verra
que du feu.
Ah. Ben si tu ne la lis jamais, tu peux rajouter .invalid derrière,
c'est plus propre. Note que les adresses en alussinan.org rejettent
pas mal de courriels légitimes de toute façon (ça m'est arrivé il y a
quelques semaines encore avec l'adresse de Luc Bentz chez alussinan).
Ah, c'est que tu veux être un peu fasciste quand même.
Juste pour les adresses courriels. J'ai ma dignité, quand même. C'est que
je sais ce dont les youzeurs sont capables, vu que je suis une youzeuse (:
[...]
Mon but est avant tout de prévenir les erreurs de frappe, par exemple un
espace au milieu de l'adresse, un accent,
l'oubli de l'extension du nom de domaine,
2 points successifs
ou 2 @,
2 adresses au lieu d'une, séparées par un blanc,
un slash,
ou bien « ou », etc.
Ah. Ben si tu ne la lis jamais, tu peux rajouter .invalid derrière,
c'est plus propre. Note que les adresses en alussinan.org rejettent
pas mal de courriels légitimes de toute façon (ça m'est arrivé il y a
quelques semaines encore avec l'adresse de Luc Bentz chez alussinan).
Oui mais non. L'adresse avec le +spam n'est pas censée être utilisée car il
y a un reply-to qui lui, ne comporte pas ce morceau (cf mes entêtes).
Si on écrit à l'adresse avec le +spam, on se prend un bounce avec le
message suivant :
« chaton.tigre+: host
laila.alussinan.org[82.237.120.164]
said: 550 5.7.0 Adresse volontairement rendue indisponible. Pour me
contacter par E-mail otez le "+spam" de mon adresse. (in reply to RCPT
TO command) »
Donc elle n'est pas valide, mais elle donne l'information nécessaire pour
m'écrire (-:
Ah, c'est que tu veux être un peu fasciste quand même.
Juste pour les adresses courriels. J'ai ma dignité, quand même. C'est que
je sais ce dont les youzeurs sont capables, vu que je suis une youzeuse (:
[...]
Mon but est avant tout de prévenir les erreurs de frappe, par exemple un
espace au milieu de l'adresse, un accent,
l'oubli de l'extension du nom de domaine,
2 points successifs
ou 2 @,
2 adresses au lieu d'une, séparées par un blanc,
un slash,
ou bien « ou », etc.
Ah. Ben si tu ne la lis jamais, tu peux rajouter .invalid derrière,
c'est plus propre. Note que les adresses en alussinan.org rejettent
pas mal de courriels légitimes de toute façon (ça m'est arrivé il y a
quelques semaines encore avec l'adresse de Luc Bentz chez alussinan).
Oui mais non. L'adresse avec le +spam n'est pas censée être utilisée car il
y a un reply-to qui lui, ne comporte pas ce morceau (cf mes entêtes).
Si on écrit à l'adresse avec le +spam, on se prend un bounce avec le
message suivant :
« chaton.tigre+spam@alussinan.org>: host
laila.alussinan.org[82.237.120.164]
said: 550 5.7.0 Adresse volontairement rendue indisponible. Pour me
contacter par E-mail otez le "+spam" de mon adresse. (in reply to RCPT
TO command) »
Donc elle n'est pas valide, mais elle donne l'information nécessaire pour
m'écrire (-:
Ah, c'est que tu veux être un peu fasciste quand même.
Juste pour les adresses courriels. J'ai ma dignité, quand même. C'est que
je sais ce dont les youzeurs sont capables, vu que je suis une youzeuse (:
[...]
Mon but est avant tout de prévenir les erreurs de frappe, par exemple un
espace au milieu de l'adresse, un accent,
l'oubli de l'extension du nom de domaine,
2 points successifs
ou 2 @,
2 adresses au lieu d'une, séparées par un blanc,
un slash,
ou bien « ou », etc.
Ah. Ben si tu ne la lis jamais, tu peux rajouter .invalid derrière,
c'est plus propre. Note que les adresses en alussinan.org rejettent
pas mal de courriels légitimes de toute façon (ça m'est arrivé il y a
quelques semaines encore avec l'adresse de Luc Bentz chez alussinan).
Oui mais non. L'adresse avec le +spam n'est pas censée être utilisée car il
y a un reply-to qui lui, ne comporte pas ce morceau (cf mes entêtes).
Si on écrit à l'adresse avec le +spam, on se prend un bounce avec le
message suivant :
« chaton.tigre+: host
laila.alussinan.org[82.237.120.164]
said: 550 5.7.0 Adresse volontairement rendue indisponible. Pour me
contacter par E-mail otez le "+spam" de mon adresse. (in reply to RCPT
TO command) »
Donc elle n'est pas valide, mais elle donne l'information nécessaire pour
m'écrire (-: