Les robots de récupération d'adresses mail sont assez frustres et se basent sur une recherche simple : l'arobase. Il suffirait donc de cacher le fameux @ pour tromper ces chapardeurs discourtois. Une technique simple consisite à encoder ce caractère en le transformant en une entité de la forme « @ » dans le code HTML. Une adresse mail sous la forme « toto@example.com » en HTML donnerait donc « toto@example.com » dans un navigateur. Notez qu'il est aussi possible de l'écrire sous la forme hexadécimale « toto%40example.com » mais sans pouvoir l'afficher correctement.

Voici donc une solution à la fois accessible, puisqu'elle fonctionne sur quasiment tous les navigateurs à l'exception de très anciennes versions, et suffisamment complexe pour leurrer les aspirateurs malveillants. Insérer le code suivant :
<a href="mailto:toto%40example.com">toto&#64;example.com</a>
pour avoir le résultat toto@example.com. Regardez au passage l'affichage dans votre barre d'état lorsque vous survolez ce lien.

L'exemple donné fait volontairement apparaître l'adresse sur la page pour une raison simple : se retrouver avec un morceau de papier sur lequel il est écrit « contact » ou « nous écrire » n'est pas un exemple de bonne pratique. Avouez qu'l serait dommage de rater un courriel parce que le visiteur a imprimé la page, non ?

S'l y a bien d'autres possibilités, celle-ci semble allier résultat et accessibilité, contrairement aux solutions à base de Javascript. Il serait également possible d'encoder certains caractères de manière aléatoire. Et vous comment faites-vous ?