Using a contact form that sends you an email server-side is a good one, that way they never have your email (unless you respond).
I also had a static website at one point where I didn't want to add server-side processing for a contact form so I stored the email address obfuscated in javascript like:
and injected it into the page. It seems that most scraper bots don't execute javascript and with it split into an array they likely won't find it by scraping the js files either.
Assuming this is your personal website, a form with a captcha should suffice. Ensure the form limits the input to printable text and limit how often the form may be used by IP and globally. Captcha doesn't need to be a third party. It can be a simple math problem or a simple logic question or even "What is in the picture below?" and have a picture of a horse. Why a form? So people don't get your real email address and you have the option to only view the messages on your website at your leisure. Legit users will leak their contacts when they get malware on their system.
Honest Q: isn't it trivial to scrape the "filipo [at] domain" email address either? I see lots of websites use something like this, and it seems an easy enough task to write a RE that can figure out a valid address from it.
This would present an accessibility problem for people using screen readers, unless you provide your email address as alt text (which a scraper could pick up, defeating the purpose).
I also had a static website at one point where I didn't want to add server-side processing for a contact form so I stored the email address obfuscated in javascript like:
and injected it into the page. It seems that most scraper bots don't execute javascript and with it split into an array they likely won't find it by scraping the js files either.