Najpierw adres jest kodowany za pomocą urlencode (do postaci %xx), a następnie zamieniany na dziesiętne i szesnastkowe encje HTML. Losowe znaki pozostają nieruszone dla urozmaicenia, a na zasmażkę w środku komentarz HTML.

Jedyny znany efekt uboczny: IE pokazuje syfną wersję na statusbarze (dowód na podchwytliwość metody, czy denność IE? ;) Inne przeglądarki tylko straszą %40 zamiast @.

Na dzień dzisiejszy to kodowanie nie jest już 100% skuteczne, ale za to nie ma efektów ubocznych, które by były uciążliwe dla użytkowników.

Enkoder dostępny jest on-line.

<?php

function enkoduj($m,$url=true)
{
 $o='';
 if ($url)
 {
   for($i=0;$i<strlen($m);$i++)
   {
     $o .= (rand(0,100) > 60 || !ctype_alnum($m{$i}))?sprintf('%%%02x',ord($m{$i})):$m{$i};
   }
   $m = 'mailto:'.$o; $o='';
 }
 for($i=0;$i<strlen($m);$i++)
 {
   if (!$url && $i==strlen($m)>>1) $o .= '<!--mailto:eat_my_shorts@microsoft.com-->';
   $o .= (rand(0,100) > 40 || $m{$i}=='.')?sprintf((rand(0,100) > 50)?'&#%d;':'&#x%X;',ord($m{$i})):$m{$i};
 }
 return $o;
}

$addr = 'test@example.com';

echo '<a title=\'e-mailuj!\' href="'.enkoduj($addr).'">'.enkoduj($addr,false).'</a>';