Email Befuddling

So, the common concern is:

If I put my email address "out there" on the web that spammers will get it and start sending me spam messages.

Well, that is a valid concern. There are scripts and crawlers which go around and look for email addresses. (And lets suppose that they also do not check for a robots.txt file.) These generally work by focusing on the syntax of the email addresses using Regular Expressions or finding the mailto: term in the HTML code. There are some things which can be done to prevent this from happening.

  • The best way is to use contact forms.
  • The second best way is to use JavaScript hiding. (Go here to read how to do this if you are running your own HTML pages, or here if you want a site which will create a JavaScript for you.)
  • The third best way is to use HTML characters for your email addresses.
  • One way that I severely dislike is to spell out the email address or phone number like (you see a lot of this on sites like craigslist and after a few spam text messages one understands why it is done): seven-one-seven or hugh dot paterson at.


While this last format is human readable, it is also easy to find a regular expression which can pull these things out.

What I like to do is to add the HTML values for symbols. This means that the symbols like the @ sign will be translated to the browser but when they are read by the crawler that they are interpreted as a string of characters, generally messing up the regular expression. Now this is not completely fail safe, but I have been doing this on the web for 10 years and have not had a problem with spam.

Example of a link which will open up in your email client with a given subject line:

hugh.paterson@sil.org

The code I use is to accomplish this is below.

Code: <a href="mailto:hugh.paterson&#64;sil.org?subject=From%20the%20SIL%20website">hugh.paterson&#64;sil.org</a>

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.