On Sun, 25 Jun 2006 21:10:31 +0100, Andrew McLean <[EMAIL PROTECTED]> wrote:
> I'm looking at putting some e-mail contact addresses on a web site, > and wanted to make it difficult for spammers to harvest them. [ ... ] > Searching the web it looks like the best solution for me might be to > embed JavaScript in the web page that dynamically generates the e-mail > address in the browser client. [ ... ] > Now I could write suitable code myself, but would be surprised if it > wasn't already available. Any pointers? Pointers? What do you think this is, C? ;-) Try this: def spam_averse_email_address( email_address, text ): """return HTML-embedded javascript to create a spam-averse mailto link""" def char_codes( a_string ): return ",".join(str(ord(a_char)) for a_char in a_string) return """<script type="text/javascript"> <!-- document.write( '<a href="mailto:' + String.fromCharCode(%s) + '">' + String.fromCharCode(%s) + '<\/A>'); // --> </script>""" % (char_codes(email_address), char_codes(text)) The newlines within the triple quoted string are important; use that function something like this: print "<html>" print "<head><title>Title</title></head> print "<body> print "<P>%s</P>" % spam_averse_email_address( '[EMAIL PROTECTED]', 'click here to email me' ) print "</body>" print "</html>" You mentioned accessibility; make sure that your HTML does something sensible if the user's browser doesn't do javascript. HTH, Dan -- Dan Sommers <http://www.tombstonezero.net/dan/> "I wish people would die in alphabetical order." -- My wife, the genealogist -- http://mail.python.org/mailman/listinfo/python-list