If you want to publish your email address on a website, you’re gonna get spam, but there are a few things you can do to cut down on the amount of spam you get.
The easiest is to not publish your email address on a website. You’ll still get some spam, but your ISP should be able to install a spam filter that you can use to turn off some of it (Earthlink’s Spaminator is a good example of this). (Of course, this negates the whole idea of publishing your email address on your website).
Secondly, you can publish your email address in unlinked graphical form. This means a human that isn’t blind can read your email address and type it in their email program. Scott does a good job of this on his Fuzzy Blog!.
Thirdly, you can encode your email address so that it looks like plain text to a reader, but looks like gobldygook in the source code:
Take my email address: firstname.lastname@example.org. Anyone can email me there, but I don’t want to get a bunch of spam, so I’d like to encode it using character entities, but it’s a lot of work to do it manually, so I naturally turn to a web based email encoding form to turn my email address into this:
j o h n @ i n l u m i n e n t . c o m
Which then goes into my HTML to produce this: