htmlspam-preventionmailto

Should mailto be used in HTML5?


A year or so ago I decided to stop using the mailto tag because many times it is annoying to the user. It will bring up an email program that the user may not be using at the time, which may also take time to load and may not be what the user wanted to do when he/she clicked on what looked like a link.

Instead I decided to just start displaying the email address without the mailto tag. I believe that both ways probably can produce spam.

My questions are these, Is the mailto tag the accepted way to setup email links, or do good people/companies avoid them? Second, if they both create spam, is there a way to prevent spam from being generated on either? I have seen the mailto being put inside comments somehow, but it seems kind of a hacked way of doing it.


Solution

  • You should use the mailto: URI scheme in both HTML4 and HTML5.
    If the user doesn't want a mail client to load, he won't click the link.
    Not using mailto: just makes it more annoying to send you email.

    Any half-decent (indecent?) spam crawler will pick up email addresses whether or not they're in mailto:.

    One effective way to prevent this is to include a (trivially-)encrypted version of the email address in Javascript and write it into the document.
    This way, any spam crawlers that do not execute Javascript won't get your address.
    If you're afraid of spam crawlers that do use Javascript, you can only write the email address on mousemove and/or after 5 seconds.
    For accesibility reasons, and for humans with Javascript disabled, you may want to include a scrambled form of the address in plain text. (eg, SLaks (SHIFT+2) MyDomain (period) com)
    You can write a server-side script to generate this automatically for an email address.

    For obvious reasons, I won't share code. (In order for this to work well, each site should have a different implementation)