First implementation for #2

Needs a ton of refactoring and tests.
But this works. Now it's a matter of adding tests and refactoring.
If .env contains the AWS Key ID and the AWS Seret, it'll use AWS.
Otherwise, just use SMTP.