looks quite good - what is the exception you get?
Please use a local email server for testing, because Gmail will only accept a request in 15 minutes or so and can act a bit bitchy when you don't come around correct.
Use
HMailServer[
^] for local testing. It's free and will provide a valid test base.