Add previewing (several commits)
Add actual mailing (and tests)

Note that this DOES NOT account for mail setups, it still assumes the
host has done the setup previously. I need to do some more research before
I can get that working as expected.