What would be the best way to implement a simple crash / error reporting mechanism? 
Details: my app is cross-platform (mac/windows/linux) and written in Python, so I just need something that will send me a small amount of text, e.g. just a timestamp and a traceback (which I already generate and show in my error dialog). 
It would be fine if it could simply email it, but I can't think of a way to do this without including a username and password for the smtp server in the application...
Should I implement a simple web service on  the server side and have my app send it an HTTP request with the info? Any better ideas?
Some kind of simple web service would suffice.  You would have to consider security so not just anyone could make requests to your service..
On a larger scale we considered a JMS messaging system.  Put a serialized object of data containing the traceback/error message into a queue and consume it every x minutes generating reports/alerts from that data.
How to best implement simple crash / error reporting?