Aucune technique n'est infaillible et les moteurs étant de plus en plus sophistiqués, il devient difficile de se "protéger" des bots spammeurs.

Voici donc un petit truc simple et une méthode un peu plus complexe.

1 - exploitons les limites des bots peu intelligents. Un robot spammeur "simple" va chercher le caractère '@' ("arobase" ou "a commercial").
La première chose à faire est donc de remplacer ce caractère par un de ses équivalents.
Dans un lien "mailto:" on peut mettre son code "URL" à savoir "%40" (ce qui donne un lien type: emmanuel %40 cabaud.com) et dans le lien affiché on met l'unicode @.
D'autre part mettre des espaces de chaques côtés du caractère trompe un peu plus le robot...mais aussi l'utilisateur final. Vous étonnez pas d'avoir des gens qui vous disent "ouai c'est chiant ton lien y march'pas!"... Toujours penser "utilisateur final"

2 - pour les robots un poil plus intelligents. On va simplement utiliser du javascript.
Et oui! Domage pour eux mais les robots on encore du mal à interpréter le javascript, du coup on va pas se gener pour s'en servir, puisque nos brouteurs savent très bien s'en dépatouiller.
En fait on va découper le lien "mailto:" et mettre chacun des morceaux dans une variable:
_c = 'mailt';
_a = 'o:'
_b = 'emmanuel' ;
_f = '%40' ;
_d = ' @ ' ;
_e = 'cabau' ;
_g = 'd.com' ;
_j = '<a href="' ;
_h = '">' ;
_i = '</a>' ;
Comme je suis joueur, j'ai en plus mélangé les variables et les morceaux.
Dans la page, pour afficher le lien il suffit de faire un script qui va afficher chacun des morceaux dans l'ordre.
<script type="text/javascript" language="javascript">
<!--
document.write(_j+_c+_a+_b+_f+_e+_g+_h+_b+_d+_e+_g+_i);
//-->
</script>

Et voilà le tour est joué. Ca va déjà dérouter pas mal de bots.