Email addresses that are present in the site, can be gathered by an email harvester: a malicious script made by spammers visiting sites and searching for email addresses on them, which are then entered in their database.
But those "bots" can only read data that is readily present as text. Therefore, the solution is to let a client-side script (javascript) generate the emailaddress.
So first make an HTML container where your emailaddress will appear.
Then add a function that changes the content of this container.
To finish it off, call that function when the page is loaded:
To see the script in action, click here.
The described method is not entirely foolproof. No, the visiting scripts can NOT grab email addresses that are produced by client-side scripts, but humans can! Yes, some spam companies do pay people (a little) to manually search for emailaddresses, thus they can also 'grab' the generated result, visible on the screen...
By the way, methods that also don't work are:
In fact, nothing works... but everything may help.