Estou hospedando o servidor Discourse no DigitalOcean, domínio do PorkBun, servidor de e-mail com MailGun.
Minha conta MailGun está ativada e o domínio (discourse.mydomain.com) está verificado para uso com mg.mydomain.com. Todos os registros TXT do DNS estão no lugar.
Quando tento executar discourse-doctor ou se executo ./launcher enter app e depois executo rake 'emails:test[mail@mg.mydomain.com]' recebo o seguinte erro
======================================== ERRO ========================================
ERRO INESPERADO
Net::SMTPAuthenticationError
====================================== SOLUÇÃO =======================================
Este não é um erro comum. Nenhuma solução recomendada existe!
Por favor, relate a mensagem de erro exata acima para https://meta.discourse.org/
(E uma solução, se você encontrar uma!)
=======================================================================================
Algo está quebrado no Discourse, porque não tenho problemas para enviar o e-mail manualmente. Tenho pesquisado no Google e nos fóruns aqui por muitas horas, sem soluções ainda. Alguma ideia?
Há algo de errado com seu nome de usuário/senha. É possível que sua senha tenha um caractere que precise de escape, como um asterisco ou uma aspa simples, talvez (então será mais fácil alterar a senha para não incluir esse caractere).
a senha não contém nenhum desses caracteres. Na verdade, é a senha gerada automaticamente pelo MailGun, e contém apenas letras, números e alguns caracteres ‘-’. É bastante longa.
Essa foi a minha melhor suposição. Eu tentaria gerar uma nova senha e/ou copiá-la e colá-la novamente. A probabilidade de isso ser um bug no Discourse é extremamente remota.
Eu apostaria que DISCOURSE_SMTP_USER_NAME está incorreto - mail provavelmente não é suficiente para o mailgun autenticá-lo. Deveria ser mail@mg.mydomain.com.
Eu acho que você pensa que DISCOURSE_SMTP_DOMAIN é o domínio do usuário? Não é - é o domínio EHLO. Você quase definitivamente não precisa configurá-lo.
Acabei de perceber isso também, quando testei com telnet usei “mail@mg.mydomain.com” como nome de usuário e funcionou, então vou tentar novamente com isso como DISCOURSE_SMTP_USER_NAME
Eu apostaria que você acha que DISCOURSE_SMTP_DOMAIN é o domínio do usuário? Não é - é o domínio EHLO. Provavelmente você não precisa configurá-lo.
Não tenho certeza se entendi o que isso significa
Para o MailGun eu estava usando mg.mydomain.com, para o Discourse eu estava usando discourse.mydomain.com. Na verdade, não tenho nenhum registro DNS configurado no momento para mydomain.com, apenas para o subdomínio Discourse e os registros TXT para o DNS do MailGun