I may be stating the obvious, but many times overlooked
Disable catch all email associated with domain (with many this comes as default) even if you set email specific @ you will still get
anything@yourdomain.com if you fail to disable catch all.
Set dedicated email alias, avoid info@ webmaster@ etc etc
It won't stop spam, but does stop tons of stuff
Don't have email address on every page, just once on a contact us type page, on the page use js or mask the email address
Too late for many, once captured you are 'captured' for life but anyone just starting out it would be wise to avoid future problems.
If you are unsure how to do this just make a simple image email address to start with, it won't be clickable but it will save you loads of hassle in the future and when you get more savvy you can make clickable email later.
Believe me, email probs can be the biggest bug for any new website, for me adwords and
seo became 'minor glitches' compared to email spam.
I made many mistakes years ago but by far the biggest was publishing my main email address through thousands of pages. at the height I was getting 50k per day and I was on dial up at the time sometimes they would take 1hour to download and I couldn't stop them comming...it was a nightmare
My problem was I knew 50 or so would be important...jeez I still cringe thinking back about it.