Page tree
Skip to end of metadata
Go to start of metadata

It's preferable for Ubersmith-related email to be handled by the local mail container rather than communicating directly with a remote SMTP host. Mail delivery is quicker, with superior logging, and avoids the need for the Ubersmith web interface to 'pause' or 'wait' for the mail delivery actions to complete. Ubersmith's mail container runs the Postfix MTA. This configuration is confirmed to work with Office 365, Sendgrid, and Amazon SES.


The following instructions assume that Ubersmith has been installed to /usr/local/ubersmith and that Ubersmith is being configured to relay mail to Office 365. Be sure to use the specific relayhost configuration for the provider you plan to have Ubersmith send mail to. Retrieve the latest copy of cacert.pem  from curl.haxx.se and place it in /usr/local/ubersmith/conf/mail:

  • cd /usr/local/ubersmith/conf/mail
  • curl -L -O https://curl.haxx.se/ca/cacert.pem

 Open a shell within the mail container:

  • cd /usr/local/ubersmith
  • docker-compose exec mail bash

Within the mail container, modify /etc/postfix/main.cf to uncomment and edit the following variables to the appropriate settings:

/etc/postfix/main.cf Configuration Options

relayhost = [smtp.office365.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
 
smtp_send_dummy_mail_auth = yes
smtp_always_send_ehlo = yes
smtp_tls_security_level = may
smtp_use_tls = yes
smtp_tls_CAfile = /etc/postfix/cacert.pem
 
# debug options
# debug_peer_list = smtp.office365.com

Still within the container, create /etc/postfix/sasl_passwd and generate sasl_passwd.db:

  • Edit /etc/postfix/sasl_passwd to contain the following:
    • [smtp.office365.com]:587    smtp-user@example.com:password
  • To generate /etc/postfix/sasl_passwd.db, run:
    • postmap /etc/postfix/sasl_passwd

Exit the container, and run:

Edit /usr/local/ubersmith/docker-compose.override.yml to add the following volumes to the mail service:

- "/usr/local/ubersmith/conf/mail/cacert.pem:/etc/postfix/cacert.pem"
- "/usr/local/ubersmith/conf/mail/main.cf:/etc/postfix/main.cf"
- "/usr/local/ubersmith/conf/mail/sasl_passwd:/etc/postfix/sasl_passwd"
- "/usr/local/ubersmith/conf/mail/sasl_passwd.db:/etc/postfix/sasl_passwd.db"

Recreate the mail container:

  • cd /usr/local/ubersmith; docker-compose up -d mail

Verify mail is flowing properly by examining the log output from the mail container:

  • tail -f /var/log/ubersmith/mail/docker.log

On this page:

On this page:

Related Topics 

Forwarding Emails