Mail system not working even thought I tested it with telnet and other platforms

For some reason, I am not getting a mail from my discourse setup.

I already tested my SMTP settings and they are working for other platforms

Also tested it with Telnet.

1 Like

See Troubleshooting email on a new Discourse install.

A common problem is that Discourse is sending from an address that your server will not accept.


I am in a similar situation. Installed, website responds, registration e-mail never gets there. Tested sending e-mail from the discourse server, from inside the app container using the same configuration/credentials => works, test message sent and received correctly. Running doctor gives me:

Sending mail to my_correct_user@my_correct_domain. . . 
Testing sending to my_correct_user@my_correct_domain using correct_smtp_server_name:465, username:correct_smpt_user@correct_sender_domain with plain auth.
======================================== ERROR ========================================
                                    UNEXPECTED ERROR


====================================== SOLUTION =======================================
This is not a common error. No recommended solution exists!

I tried switching port to 587, then the Net::ReadTimeout doesn’t show in the logs but still nothing gets sent. What next? What is the correct content of DISCOURSE_SMTP_DOMAIN ? That’s the only thing I am still suspicious about.

same issue here. Please help

If you’re getting a read timeout it’s because the outgoing smtp port is blocked. You’ll need to get it unblocked or use another port.

1 Like

I personally use the submission port on that server so that one certainly isn’t blocked. And - right - when using 587 the timeout error does not appear. Since I have no way to make the server’s configuration changes, should I understand that only SMTPS is supported?

Port 587 has explicit TLS (STARTTLS) and a mail server could be configured to accept submissions on that port without requiring TLS, so you could do unencrypted SMTP over that port.

(The now sort-of-deprecated port 465 had implicit TLS and you had no choice there).

Right, the server is configured to work with explicit TLS on submission port (587). Now what does one need to do in Discourse configuration to make it work over 587 with TLS? Should/shouldn’t it work OOB?

There is DISCOURSE_SMTP_ENABLE_START_TLS which is default true.