For a Discourse instance to function properly Email must be set up. Use the
SMTP_URL
env var to set your SMTP address, see sample templates for an example. The Docker image does not contain postfix, exim or another MTA, it was omitted because it is very tricky to set up correctly.
Source: https://github.com/discourse/discourse_docker
Yah! Discourse doesn’t came with any MTA (mail transfer agent).
I had to install Postfix so that Discourse could send out emails.
My emails weren’t getting delivered…
I was getting the following error on discourse logs(/var/discourse/shared/standalone/log/rails/production.log)….
Job exception: Net::ReadTimeout
After a few tweaks… I got it working…
This is my app.yml excerpt….
## TODO: List of comma delimited emails that will be made admin and developer ## on initial signup example 'user1@example.com,user2@example.com' DISCOURSE_DEVELOPER_EMAILS: 'admin@domain.com' ## TODO: The SMTP mail server used to validate new accounts and send notifications DISCOURSE_SMTP_ADDRESS: mail.domain.com DISCOURSE_SMTP_PORT: 25 DISCOURSE_SMTP_USER_NAME: admin@domain.com DISCOURSE_SMTP_PASSWORD: XXXXXXX DISCOURSE_SMTP_ENABLE_START_TLS: false
Readings
- https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-as-a-send-only-smtp-server-on-ubuntu-16-04
- https://meta.discourse.org/t/troubleshooting-email-on-a-new-discourse-install/16326/