Unless the person sending the email to you is really intent on hiding his identity, you can track down the originating SMTP server in the header. Often the mail will be relayed by several servers, so you want to find the earliest one. Each outgoing message has a unique ID number, which is noted in the entry. Theoretically, the server's owners could consult their logs to try to determine the culprit, but there is no guarantee they will have enough information to determine that. If the server requires authentication, then I don't think it would be difficult to find out which account was responsible, but otherwise it could be very hard--or impossible. I would also doubt that you'd get much cooperation from the system operators, especially if this is just someone playing a joke on you. (You might want to check your enemies list and work from there

)
On the matter of email forms, there are at least a couple options. Most simply, you can create a form with action="mailto:...". Not the prettiest results, but it will get the job done
if the person using it has an SMTP server properly configured in their browser. The best way to do it is to use a CGI script in Perl or something that does everything server-side, using your own mail server. Needless to say, that's a little more involved and requires that you be able to install scripts.