No activation email

AI-generated summary

2TapPrince set up a Discourse instance on DigitalOcean but couldn’t receive activation emails due to SMTP configuration issues. Initially using port 465 with Strato’s SMTP, they found no success even after switching to port 587. JammyDodger referenced Discourse’s email troubleshooting guide, noting port 465 is deprecated and suggesting alternatives like 587 or 2525. Rhod asked if the domain was properly added in DigitalOcean’s Networking section and whether the firewall allowed outbound SMTP traffic. 2TapPrince confirmed they had set up the A record but were unsure about domain registration in DO or firewall rules. Rhod guided them through adding the domain in DO’s Networking panel, and later advised opening port 587 in the firewall Rhod. However, Stephen clarified that inbound port 587 doesn’t need to be opened for outbound email sending — Discourse doesn’t run a mail server. Ultimately, 2TapPrince resolved the issue by correcting their DISCOURSE_SMTP_DOMAIN setting — removing the unnecessary “.com” suffix from celesto.graphics.com to just celesto.graphics. Emails, including activation mails, now work correctly.

Hello,

I have setup a digitalocean discourse docker instance. Setup went just smooth, however.. I can’t seem to get the account creation working because I don’t get a verification email.

My settings are the following

  DISCOURSE_SMTP_ADDRESS: smtp.strato.de
  DISCOURSE_SMTP_PORT: 465
  DISCOURSE_SMTP_USER_NAME: no-reply@celesto.graphics
  DISCOURSE_SMTP_PASSWORD: "xxx"
  DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, default true)
  DISCOURSE_SMTP_DOMAIN: celesto.graphics.com
  DISCOURSE_NOTIFICATION_EMAIL: no-reply@celesto.graphics

I tried testing the connection with

telnet smtp.strato.de 465

Trying 81.169.145.133...
Connected to smtp.strato.de.
Escape character is '^]'.

I don’t know how I could proceed… a helping would be appreciated.

There’s this about port 465 in Troubleshooting email on a new Discourse install if that’s any help?

The thing is that it didn’t work with 587, so I tried 465 and nothing changed..

A question, perhaps very obvious to many, but sometimes the simple things are the ones that go unnoticed.
Have you already added within Digital Ocean (DO), the domain name (talk.example.com) and adjusted the firewall to open the necessary port? Also, do not forget that within the firewall you must add the droplet where you installed “discourse” .

Hi, thanks for the reply.

So what I did is, I created the droplet and created a new A record at my domain provider and added the ip of my droplet.

Adding a domain to my droplet is necessary for this email setup? If so, can you guide me a little, where exactly can I add the domain for example? And what needs to be added to the firewall.

I am not that experienced with this kind of stuff.
Thanks anyway!

Don’t worry, I’ll try to guide you as best as possible, I’m not an expert on the subject, but so far my email works without problems, personally I use “sendiblue”, because it was the only one that allowed me to use an account without going through filters that others put.
In short, the section that I mention is in “networking”.

1 Clic on Networking
2 Enter your domain “example.com” NOT "talk.example.com
3 Choose the project


Personally, it was necessary for me to add and manage the domain name from “DO”, since Sendinblue asked me to add some dns values to verify domain ownership, just like google for user registration.

Thank you for the reply!

Yeah I did that.

Another thing. I tried sending a test mail via the admin cp, and it gave me this

I entered my Google Mail as recipient to test. So the email wasn’t sent, as it seems. This is weird.
So I can’t send emails. Which would also explains, why I cannot receive the activation mail.

I forgot, have you already opened port 587 through the firewall?
The same within the network you do.

Networking/Firewalls/Create Firewall

1 Name (example: Firewall of my forum)
2 New rule, select “Custom”.

3 Custom
4 TCP
5 587
6 Custom
7 UDP
9 587

9 Select the dropplet where you want aply the rules.

And finally click on “CREATE FIREWALL”.

I am not sure what solution was working now, but I realized that I had the wrong config setup.

 DISCOURSE_SMTP_DOMAIN: celesto.graphics.com

My domain had 2 TLDs in that setup, the .com was not needed.

Anyway, I receive the emails now just fine.

You don’t need to open port 587 inbound to make an outbound connection to send email.

Discourse doesn’t operate a mail server by default, creating that rule exposes port 587 on the host.

Thanks, how i said, im not expert, thank you very much for clarifying.