Before passing to recordToDocument service,pls make sure in the pipe of documentToRecord output has the IData Record structure,if not that might be the reason you are getting null exception ,also check whether the record is wellformated and having data and matches with your record structure or schema before mapping to recordToDocument.
I believe option 1 should work fine.
Try to debug by invoking entry point as savepipeline and restorepipeline services and disable all the logic and check the pipe if your email receiving service has Xml string or bytes or stream.Hope you are sure on this.
HTH.
#Integration-Server-and-ESB#webMethods#webmethods-Protocol-and-Transport