The best way to prevent harvesting is to simply not have a mailto: link at all.
In addition, there are not many counters. Things like CSS content and images have been tried and worked around, and JavaScript is an incomplete non-solution (which means it doesn't work).
One possible counter is obfuscation: add nonsense to your address:
mailNO`at`SPAMyahoo`dot`com
And most automatic combines (initially) have some problems finding it. Alternatively, things like comments can be used to confuse most harvesters. (RFC822 describes the full syntax of email addresses, which includes comments as part of the address specification.)
Another counter is to use some form of CAPTCHA form.
None of them are fully effective.
source share