Problema ao enviar e-mail de ativação

Instalei o Discourse usando a instalação de aplicativo de um clique no DigitalOcean com suporte a HTTPS do LetsEncrypt. Não estou recebendo o e-mail de ativação na minha conta de e-mail de administrador. Ao executar ./discourse-doctor, na etapa Envio de E-mail, obtenho o seguinte erro:

Net::ReadTimeout

Estou hospedando o Discourse em um subdomínio, enquanto meu site principal (domínio principal) e servidor de e-mail estão na Hostgator. Os registros SPF e DKIM estão ativos no meu domínio principal. Configurei o envio de e-mail do Discourse para a porta 465, que é o que meus servidores de e-mail da Hostgator suportam.

Alguém poderia esclarecer o que pode estar errado?

Obrigado antecipadamente.

Edição: Quando tento a porta 587, ./discourse-doctor retorna um erro diferente, conforme abaixo:

O envio de e-mail falhou.

Atualização: Consegui fazer o e-mail de ativação funcionar usando a porta 587 e o seguinte valor no arquivo app.yaml:

DISCOURSE_SMTP_ENABLE_START_TLS: false

Assim que fiz login na interface de administração, pude ver os seguintes erros do Sidekiq (de antes?):

Jobs::HandledExceptionWrapper: Wrapped OpenSSL::SSL::SSLError: o hostname “mail.mydomain.com” não corresponde ao certificado do servidor

Agora, entendo que esse erro desapareceu porque defini DISCOURSE_SMTP_ENABLE_START_TLS como false, mas essa é a maneira correta de fazer as coisas?

Olá e bem-vindo ao meta @nparab :wave:

Lamento, mas não podemos dar suporte à instalação com um clique oferecida pelo DigitalOcean, pois não é a maneira oficialmente recomendada para configurar o Discourse. Recomendo fortemente que você siga nosso guia de instalação oficial.

Essa mensagem é autoexplicativa e significa que seu servidor de e-mail está mal configurado.

Mas, se eu me conectar usando este comando:

openssl s_client -starttls smtp -crlf -connect mail.mydomain.com:587

ele se conecta corretamente e eu consigo até enviar e-mails. Se o servidor de e-mail estivesse mal configurado, esse comando também não deveria funcionar, certo?

Atualização: Ao executar este comando:

openssl s_client -servername mail.mydomain.com -starttls smtp -crlf -connect mail.mydomain.com:587

ele retorna um certificado para mydomain.com em vez do certificado para mail.mydomain.com.

É essa a má configuração da qual você estava falando?

Por enquanto, configurei o Discourse para usar mydomain.com (em vez de mail.mydomain.com) como DISCOURSE_SMTP_ADDRESS no arquivo app.yml, para que os certificados correspondam. Isso causará algum problema?