What you want (usually!) is for your customers to be able to contact you as easily as possible. The two main ways of doing this are (i) by clicking on a mailto: link and (ii) by submitting a contact form. Anything else they need to do makes it less likely that they will succeed or even bother. Don't make it difficult for them.
There are good reasons for using mailto links and there are good reasons for using contact forms.
With a mailto link, the message comes from the customer's email application/service, which guarantees that the email address given is correct (a small but significant proportion of the contact form submissions I receive have incorrect email addresses, and there are potentially others that I don't find out about – some of these are recoverable but not all). It also means that people can save the message and come back to it, it may allow them to use HTML formatting, they can keep a copy in their sent items folder, and so on.
On the other hand, the downside of a mailto link can also be the fact that it goes through the email application/service, because if you are using someone else's computer or a public terminal, you won't have your email account set up, which may make it difficult ... or even if you are using a work computer but want contact through your personal email address – a contact form gets round that problem, and means that customers can specify whatever email address they want contact from you on. Contact forms can also be easier to protect against spam and harvesting.
One method of protecting email addresses that I have found to be largely successful is to simply replace the @ with @ in the HTML (both in the mailto link and, if applicable, in the displayed text). It has exactly the same outcome, but doesn't seem to be picked up by spam harvesters except in a small minority of cases. If you don't mind the potential risk of losing some legitimate contacts, you can also use a dedicated email address for website contacts and put a required keyword in the subject line, like this:
<a href="mailto:firstname.lastname@example.org[B]<font color='"#008000"'>?subject=Website contact</font>[/B]">Email me</a>
You can then filter emails sent to that address and any that don't have the required words in the subject line can be junked. Of course, if you're doing that, it's a good idea to make sure you tell people not to change the subject line!