An async dyn Mailer trait with runtime-pluggable Outlook (Office365) and SMTP implementations.
``rust
// Create aBox
let mailer = OutlookMailer::new(
    "
// Alternative:
let mailer = SmtpMailer::new(
    "smtp.example.com",
    465,
    SmtpInvalidCertsPolicy::Deny,
    "
// Further alternative mailers can be implemented by third parties.
// The trait object is Send and Sync and may be stored e.g. as part of your server state.
// Build a message using the re-exported mail_builder::MessageBuilder'.
// For blazingly fast rendering of beautiful HTML mail, I recommend combiningaskamawithmrml`.
let message = MessageBuilder::new()
    .from(("From Name", "from@example.com"))
    .to("to@example.com")
    .subject("Subject")
    .text_body("Mail body");
// Send the message using the implementation-agnostic dyn Mailer.
mailer.send_mail(&message).await?;
```
DKIM support is planned to be implemented on the SmtpMailer.
Further mailer implementations are possible. Please open an issue and ideally provide a pull request to add your alternative mailer implementation!