Post by Olivier MiakinenDu coup, on
pourrait peut-être mettre à jour la FAQ. Tu aurais le temps et le
courage de nous pondre quelque chose pour corriger le texte actuel ?
Au fait, pour répondre à Thief13 il serait bien d'y rajouter aussi les
références vers les RFC, que je n'avais pas mises.
http://faqfclphp.free.fr/#rub5.3
Si je me permets de me donner mon avis, le
« et si l'adresse appartient bien à la personne qui vous l'a donnée »
me gêne.
Je découperai en deux : la validité technique (est-ce une adresse email ou
pas) et la validité sémantique (est-ce bien une adresse email qui
correspond à une boîte aux lettres existante, et plus particulièrement à la
personne qui vient de me la donner en prétendant que c'est la sienne).
Pour tester la validité technique, il faut filtrer, typiquement avec une
expression régulière plus ou moins complexe.
Pour tester la validité sémantique, il n'y a pas d'autre choix que
d'envoyer un message, avec un code dedans ou une URL (non devinables) et
attendre sur une certaine durée (au moins 5 jours, 48 heures ca peut être
un peu court, les MTAs peuvent être surchargés, il y en a au moins 2 de
concernés, et typiquement 4 ou 5. Un sendmail par défaut abandonne au
bout de 5 jours, même si les gros MTA ont évidemment tendance à
raccourcir cette période) s'il se passe quelque chose.
Un test DNS, optionnel, peut être fait et se situe entre les deux.
En vérifiant qu'un enregistrement MX ou A existe pour le nom à droite du @
(et que l'enregistrement en question a bien une adresse IP), on va un peu
plus loin que la validité technique car on assure que « quelque chose »
(un MTA) est effectivement désigné pour recevoir tous les emails envoyés à
cette adresse.
Ce n'est cependant pas suffisant pour assurer que tout envoi arrive au
port (le MTA final peut très bien répondre 500 à tout le monde), et encore
moins à bon port, c'est à dire chez la personne concernée.
En bref, je remplacerai juste
« Oubliez donc toute tentative de vérification basée sur l'interrogation
d'enregistrements DNS de type MX, tentative qui sera aussi coûteuse
qu'inefficace. »
Par :
« Une interrogation des DNS (pour chercher un enregistrement de type MX ou
A sur la partie droite de l'adresse email) peut être éventuellement
effectuée après le filtrage et avant l'envoi d'un email. En cas d'adresse
incorrecte, cela a l'avantage d'avoir une réponse immédiate, exploitable
facilement dans l'application Web pour demander au visiteur de corriger,
alors qu'après l'envoi d'un email il peut falloir attendre plusieurs
heures pour une réponse négative, qui sera difficile à analyser, et on
n'aura alors plus moyen de contacter le visiteur de son site web.»
Ou un autre truc plus court/formulé différemment, pioché ou non dans ce
que je dis plus haut. L'essentiel c'est déjà que la FAQ présente des
filtrages possibles et meilleurs que la moyenne que l'on trouve sur le web.
Post by Olivier MiakinenPost by Patrick MevzekUne fois l'email donné au MTA, celui-ci peut le mettre de côté et
tenter l'envoi seulement plus tard, s'il est surchargé par exemple. On
n'aura donc la réponse que de manière asynchrone, dans un délai non
garanti, et surtout ne permettant pas simplement de présenter le
problème au client.
Oui, je suis encore d'accord (comme quoi tu as bien fait d'insister). ;-)
Mais a contrario, sur des applications nécessitant des hautes
performances, on a tendance à faire les requêtes DNS de manière asynchrone.
Bon bref, je suis d'accord pour dire que ce qui pêche le plus ce sont les
applications qui appliquent de mauvais filtres (expressions régulières
trop simplistes), et qu'une requête DNS ne peut pas remplacer ni un tel
filtre, ni l'envoi d'un email. Cependant, sans être absolument
indispensables, l'interrogation DNS, juste après le filtre et juste avant
l'envoi de l'email, peut être utile.
Comme dit précédemment, pour moi le point important c'est un filtrage pas
pourri (ni dans un sens ni dans un autre), donc c'est là qu'il faut
appuyer. Après si on fait une requête DNS ou pas, c'est moins grave (tant
que c'est pas à la place du filtrage ou de l'envoi), donc on peut juste
donner des pistes.
Post by Olivier MiakinenPost by Patrick MevzekPost by Olivier MiakinenLes erreurs les plus manifestes sont filtrées par le test de syntaxe.
Il est donc interdit de déposer un nom de domaine en www.quelquechose,
qui servira ensuite pour le courriel ?
Non, mais les débutants peuvent mélanger adresse de site web (URL) et
adresse de courrier électronique. D'un autre côté mon exemple est foireux
: le test DNS, s'il est correct, testera MX *et* A, et s'il n'y a pas de
MX pour www.example.com, il y aura très probablement un A ! Donc le test
sera toujours vrai, et il n'y aura que l'envoi pour départager.
Mais par exemple, sur des mailing-listes en @forums.example.com, il n'y
aura pas nécessairement de site web en www.forums.example.com auquel cas
@www.forums.example.com sera détecté au niveau DNS comme incorrect.
Et si on dépose example.com il est _rare_ (mais pas impossible
techniquement, nous sommes d'accord), que le mail soit pour de vrai en
@www.example.com (sauf erreurs de configuration aussi, cela arrive
parfois/souvent pour les emails qui partent du serveur web avec un From ou
un Return-Path pas très corrects, et donc qui se transforment parfois,
lors d'un bounce, en To: ... @www.example.com)
--
Patrick Mevzek . . . . . . . . . . . . . . Dot and Co
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>