big refactoring to use Mandrill or SwiftMailer for sending email (and potentially other providers)