You might consider doing the eMail parsing with Monarch or a similar tool... That's how I'm doing it for my next release... Just saves you from having to write parse code (not exactly a big deal I know, but I'm sure you have better things to spend your time on, as do I), plus when they inevitably change the eMail format, it's just a model update.
Here's a quick run-down of my registration system as it will be implemented for the next release, in case anyone is interested...
User makes their purchase on Handango or Pocketgear. They are told at the time of purchase that they should receive an eMail within four hours with registration instructions. I say four hours to account for possible delays in the proces, but in reality it seems to occur within ten minutes 99% of the time.
I have a periodic server process running (evey five minutes it fires) checking a specific inbox that the Handango or Pocketgear eMails are sent to. They are downloaded and parsed via Monarch jobs (simple OLE automation to control Monarch) and the results stuffed in a database.
I then fire off an eMail with a 16-digit code calculated based on the info in the eMail (mostly the purchase ID number and the user's personal info), to the address the customer supplied at the time of purchase.
They get the eMail, click on the link (which naturally passes that 16-character code along to my server), and assuming it's found in the database, they receive their 16-character unlock code. The codes use my own custom scheme (I'm hoping for a little security through obscurity here rather than true strength of cypher).
Also, at the end of the day when I receive the Handango CSV file (I have to check if I can get one from Pocketgear as well), I parse that data and compare it to what's in the database. If any new entries are in the CSV, I add them and do the same process as outlined above.
This system, combined with what I hope is a decent protection scheme in the product based on the final 16-character code, will make it at least a little tough to pirate my stuff, and not overly inconvenient for true customers.