OPS-1381 Email Support

Adds a module for sending email.
I'm not sure I understand. Exceptions are for failure, return values are for success.

Would you rather it just return `None`?