Activation email sent but account not activated

AI-generated summary

A user, simon_tong, reports an issue with account activation on a self-hosted Discourse instance using Docker. Despite successful SMTP test emails, newly registered users do not receive or complete activation. The user has verified that login_required and must_approve_users are disabled, and manual activation works. They are using local Postfix SMTP and seek clarification on where activation links are processed, how to test the flow without restarting, and common causes for failure despite successful test emails. NateDhaliwal asks about the SMTP provider, and itsbhanusharma suggests using Discourse ID to bypass email or activating accounts via Rails. Andrew_Rowe recommends Docker-Mailserver as a simple alternative.

Title: Activation email sent but account not activated / activation link confusion

Hi,
I’m running a self-hosted Discourse (Docker). SMTP test emails are sending successfully (verified via Gmail), but newly registered users do not receive or cannot complete account activation properly.

What I’ve checked / done:

  • SMTP configured and test email delivered successfully

  • login_required = false

  • must_approve_users = false

  • Manual activation via Admin → Users works

  • Restarted with ./launcher restart app (multiple times)

Issue:

  • After registration, users land on /u/account-created

  • Activation email is inconsistent or activation link behavior is unclear

  • Unsure where to control activation link / redirect behavior

Questions:

  1. Where exactly does Discourse handle the activation link and redirect after clicking it?

  2. Is there a recommended way to test activation flow without restarting the container?

  3. Any common causes when SMTP test works but user activation emails fail or don’t complete activation?

Thanks in advance.

Hmm… what SMTP provider are you using?

Thanks Nate

I’m using local SMTP (Postfix) on the server — not a third-party provider yet. Testing activation emails now.

Thanks. The domain is forum.168my.my — feel free to do a test registration to check whether the activation email is received on your side.

Thanks

You can activate the initial account via rails too, alternatively you can choose to set up discourse with the new installer and opt for discourse id. That makes email optional unless you need it for email notifications.

Thanks, let me try again.

I use docker-mailserver

https://github.com/docker-mailserver/docker-mailserver

It is as simple as a mail server is going to get and runs on the same server as discourse. It doesn’t use a database, keeping the emails in a flat file so not super high volume set up but it works.

Thanks Bro

Have a good day