how to debug the Discourse server's failure to send email

September 13, 2017 1.2k views
Email Configuration Management Ubuntu 16.04

I am trying to find out why is my just instantiated Discourse server failing to send email to the initial registered user that the installation completed successfully. The email address I am trying to receive the message about successful Discourse installatation is receiving emails from different sources just fine. so it must be that Discourse server's email configuration that is defined as

  DISCOURSE_SMTP_ADDRESS: smtp.elasticemail.com
  DISCOURSE_SMTP_PORT: 2525
  DISCOURSE_SMTP_USER_NAME: nik@aureliatools.com
  DISCOURSE_SMTP_PASSWORD: "c2bab563-b7fb-428c-bbfa-f97853e2c03b"

Note that I changed the password to preserve privacy and that the above settings are taken from my elasticmail account.

Once Discourse server installation task invoked by ./discourse-setup successfully finishes, I can access the server via browser, at which time, I need to specify the email address where the server will send the "verification email".

That email never arrives.

Since I have only (PuTTY) console attached to my droplet, I do not have good ideas how to debug this.

2 Answers

If this is a new Droplet, it could be that SMTP outbound traffic is disabled to prevent spam. You can use telnet to check is it working. I'm not sure about exact command, but I believe the following one should work:

  • telnet smtp.elasticemail.com 2525

If it works, than port is open so it's not a problem. In that case make sure you configured everything correctly.
If it doesn't work, you should contact support to allow SMTP outbound traffic for your Droplet/account.

There is this troubleshooting guide: https://meta.discourse.org/t/troubleshooting-email-on-a-new-discourse-install/16326

But I'm still having the same problem. I was following the DO guide, here, but it doesn't walk one through the steps of getting everything set up properly with a transactional SMTP server.

by Arpit Jalan
Discourse is an open-source discussion platform. It can be used as a mailing list, a discussion forum, or a long-form chat room. In this tutorial, we'll install Discourse in an isolated environment using Docker, a containerization application.
Have another answer? Share your knowledge.