>What Craig was suggesting (and obviously he can jump in) is to abandon the idea of output parameters, and use a general try...catch block , which gives you a repeatable approach towards capturing and reporting on errors. It's not that output parameters for error codes don't work - it's just that structured error/exception handling is a better approach. It will mean some re-work on your code and will probably take a bit of time, but in the long run it's worth it.
I actually do have Try/Catch code in the method in order to catch the errors, but notifying the calling method is where I am sticking. When the error occurs I need to catch it but continue trying to send all the other emails and then when the process is complete to display the errors to the user. How should I approach this?