Então… estou nisso há cerca de 6 horas e pensei em finalmente pedir um pouco de ajuda.
Configurei o Discourse em um servidor, iniciei o contêiner e tentei criar minha primeira conta de administrador.
O problema: não estou recebendo o e-mail de cadastro.
O que fiz:
- Certifiquei-me de que o SMTP está configurado corretamente nas configurações e usei uma ferramenta de teste online (SMTP Test Tool) para confirmar que as configurações funcionam, e funcionam mesmo. (usando aquele site)
DISCOURSE_SMTP_ADDRESS: MY_SMTP_HOST
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: MY_SMTP_USERNAME
DISCOURSE_SMTP_PASSWORD: MY_SMTP_PASSWORD
DISCOURSE_SMTP_ENABLE_START_TLS: true # (opcional, padrão true)
-
Garanti que apenas um e-mail esteja configurado para a configuração inicial das contas de administrador.
-
Verifiquei se o SSL está funcionando de verdade (está!
-
Tentei uma reinstalação limpa duas vezes do Ubuntu e segui o guia publicado online para configuração.
-
Verifiquei se não há firewalls de rede bloqueando nada de saída ou de entrada.
-
Consegui fazer telnet com sucesso para o meu servidor SMTP a partir do servidor que hospeda o Discourse.
-
Tenho o adicional
- exec: rails r "SiteSetting.notification_email='noreply@MY_WEB_SITE'"
configurado corretamente no final do app.yml.
Não sei mais o que tentar neste ponto. Obrigado.
Se você executar o discourse-doctor, ele apresentará algum erro óbvio?
cd /var/discourse
./discourse-doctor
Ah, sim, esqueci de mencionar isso. Um momento, deixe-me executá-lo novamente para capturar a saída que notei.
==================== TESTE DE EMAIL ====================
Para um teste robusto, obtenha um endereço em http://www.mail-tester.com/
Ou simplesmente envie uma mensagem de teste para si mesmo.
Endereço de email para teste de email? ('n' para pular) [MEU_EMAIL]:
Enviando email para MEU_EMAIL. . .
Testando envio para MEU_EMAIL usando smtp.MEU_SMTP:587.
Conexão com o servidor SMTP bem-sucedida.
Enviando para MEU_EMAIL. . .
Falha ao enviar email.
Substituindo: SENHA_SMTP
Substituindo: EMAIL_CONTA_LETSENCRYPT
Substituindo: EMAILS_DESENVOLVEDORES
Substituindo: SENHA_BD_DISCOURSE
Substituindo: Enviando email para
==================== FEITO! ====================
Gostaria de servir uma versão publicamente acessível deste arquivo? (S/n)
Notei que, por algum motivo, Falha ao enviar email. mesmo que A conexão com o servidor SMTP tenha sido bem-sucedida
Se sua senha contiver algum caractere especial, você tentou colocá-la entre aspas?
Anteriormente estava entre aspas, mas estava seguindo um guia online que não o tinha entre aspas. Vou tentar novamente com aspas duplas ".
Reconstruindo agora.
Tudo bem, está de volta. Um momento.
Mesmo erro:
==================== TESTE DE EMAIL ====================
Para um teste robusto, obtenha um endereço em http://www.mail-tester.com/
Ou simplesmente envie uma mensagem de teste para si mesmo.
Endereço de email para teste de email? ('n' para pular) [MEU_EMAIL]: MEU_EMAIL
Enviando email para MEU_EMAIL. . .
Testando envio para MEU_EMAIL usando MEU_SERVIDOR_SMTP:587.
Conexão com o servidor SMTP bem-sucedida.
Enviando para MEU_EMAIL. . .
Falha no envio do email.
Substituindo: SENHA_SMTP
Substituindo: EMAIL_CONTA_LETSENCRYPT
Substituindo: EMAILS_DE_DESENVOLVEDORES
Substituindo: SENHA_BANCO_DE_DADOS_DISCOURSE
Substituindo: Enviando email para
==================== FEITO! ====================
Gostaria de disponibilizar uma versão publicamente acessível deste arquivo? (Y/n)n
Log publicamente acessível não gerado.
Você pode examinar a saída deste script com
LESS=-Ri less /tmp/discourse-debug.txt
MAS ANTES, certifique-se de que conhece os três primeiros comandos abaixo!!!
Comandos para saber ao visualizar o arquivo com o comando acima (chamado 'less'):
q -- sair
/error<ENTER> -- pesquisar pela palavra 'erro'
n -- pesquisar pela próxima ocorrência
g -- ir para o início do arquivo
f -- avançar uma página
b -- voltar uma página
G -- ir para o final do arquivo
Testei com uma senha padrão sem caracteres, testei com e sem as aspas, mas o resultado continua o mesmo.
Falha ao enviar o e-mail.
Vou sugerir que você tente configurar o Mailgun.
Vou tentar isso agora. Obrigado.
Antes de tentar, vou experimentar Discourse app.yml doesn't like email password contain "#" - #15 by elijah colocando aspas duplas ao redor da senha e, por fim, definir uma senha que não use caracteres especiais.
Se isso não funcionar, configurarei o Mailgun (como último recurso, pois meu servidor de e-mail atual tem muitos e-mails nele).
PROGRESSO! Uma nova mensagem de erro apareceu após colocar a senha entre aspas duplas assim "'mypass'"
==================== TESTE DE E-MAIL ====================
Para um teste robusto, obtenha um endereço em http://www.mail-tester.com/
Ou simplesmente envie uma mensagem de teste para você mesmo.
Endereço de e-mail para o teste de e-mail? ('n' para pular) [sender_email]: my_email
Enviando e-mail para my_email. . .
Testando o envio para my_email usando my_smtp:587.
======================================== ERRO ========================================
ERRO INESPERADO
SMTP-AUTH solicitado, mas a frase secreta está ausente
====================================== SOLUÇÃO =======================================
Este não é um erro comum. Não existe uma solução recomendada!
Por favor, relate a mensagem de erro exata acima em https://meta.discourse.org/
(E uma solução, se você encontrar uma!)
=======================================================================================
Substituindo: SMTP_PASSWORD
Substituindo: LETSENCRYPT_ACCOUNT_EMAIL
Substituindo: DEVELOPER_EMAILS
Substituindo: DISCOURSE_DB_PASSWORD
Substituindo: Enviando e-mail para
==================== CONCLUÍDO! ====================
Gostaria de servir uma versão publicamente disponível deste arquivo? (Y/n)
Usar manualmente o telnet para enviar um e-mail parece estar funcionando, mas não ao usar os e-mails do Discourse, então algo parece estar errado.
No production.log encontrei isso, isso estaria causando o problema?
Erro ao conectar ao Redis em localhost:6379 (Errno::EADDRNOTAVAIL) subscribe failed, reconectando em 1 segundo. Call stack ["/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/redis-4.1.3/lib/redis/client.rb:362$
Exceção do Job: Erro ao conectar ao Redis em localhost:6379 (Errno::EADDRNOTAVAIL)
Exceção do Job: Erro ao conectar ao Redis em localhost:6379 (Errno::EADDRNOTAVAIL)
Exceção do Job: Erro ao conectar ao Redis em localhost:6379 (Errno::EADDRNOTAVAIL)
Exceção do Job: Erro ao conectar ao Redis em localhost:6379 (Errno::EADDRNOTAVAIL)
Exceção do Job: Erro ao conectar ao Redis em localhost:6379 (Errno::EADDRNOTAVAIL)
Erro ao conectar ao Redis em localhost:6379 (Errno::EADDRNOTAVAIL) subscribe failed, reconectando em 1 segundo. Call stack ["/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/redis-4.1.3/lib/redis/client.rb:362$
Exceção do Job: Erro ao conectar ao Redis em localhost:6379 (Errno::EADDRNOTAVAIL)
Erro ao conectar ao Redis em localhost:6379 (Errno::EADDRNOTAVAIL) subscribe failed, reconectando em 1 segundo. Call stack ["/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/redis-4.1.3/lib/redis/client.rb:362$
Exceção do Job: Erro ao conectar ao Redis em localhost:6379 (Errno::EADDRNOTAVAIL)
Uma investigação mais aprofundada encontrou Exceção do Job: SSL_connect returned=1 errno=0 state=error: dh key too small, então parece que o SSL do servidor de e-mail está com problemas. Hora do Mailgun.