only populate cc and bcc in request if they're part of the message
wrap message creation/sending in a transaction