Testei o e-mail com o doctor, funciona e os e-mails foram recebidos.
Tentei ativar a conta de administrador e o sidekiq revela isto (com o token ocultado):
{“type”=>“signup”, “user_id”=>1, “email_token”=>“REDACTED”, “to_address”=>nil, “current_site_id”=>“default”}
Não tenho certeza por que nil é uma coisa para to_address.
Quaisquer dicas, conselhos ou sugestões seriam muito bem-vindas!
Provavelmente consigo encontrar, mas você sabe qual era o nome do job do Sidekiq que disparou o e-mail?
Se você não conseguir acessar o site porque não está recebendo o e-mail de ativação, pode criar um usuário e senha de administrador com rake admin:create. Instruções completas estão aqui: Create an admin account from the console. Isso deve permitir que você faça login no site.
Parece que você ainda precisará resolver o que está acontecendo com a entrega de e-mails.
Desculpe pela resposta atrasada. O job que a acionou foi: Jobs::CriticalUserEmail
Então, segui o guia exatamente. Quando chegou a hora de registrar a conta de administrador, ele não enviou um e-mail, e Jobs::CriticalUserEmail continha {“type”=\u003e“signup”, “user_id”=\u003e1, “email_token”=\u003e“REDACTED”, “to_address”=\u003enil, “current_site_id”=\u003e“default”}.
Eu forcei a conta de administrador apenas para ver quais eram os problemas. O resultado é o seguinte:
O Doctor funciona e o e-mail é recebido
O teste de Digest funciona e o e-mail é recebido tanto na versão HTML quanto na versão Plain
Qualquer registro não envia e-mail, e o log de e-mails na seção de administração nem sequer mostra uma mensagem de que um e-mail foi enviado.
Sempre que um usuário tenta se registrar, o resultado é o mesmo:
Jobs::CriticalUserEmail continha {“type”=\u003e“signup”, “user_id”=\u003e2, “email_token”=\u003e“REDACTED”, “to_address”=\u003enil, “current_site_id”=\u003e“default”}.
A cauda de /var/discourse/shared/standalone/log/rails/production.log mostra (com redações):
Processing by UsersController#check_username as JSON
Parameters: {"username"=>"bobo", "email"=>"REDACTED"}
Completed 200 OK in 2ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 636)
Started GET "/session/csrf" for REDACTEDPUBLICIP at 2024-09-26 08:13:03 +0000
Processing by SessionController#csrf as JSON
Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 270)
Started POST "/u" for REDACTEDPUBLICIP at 2024-09-26 08:13:03 +0000
Processing by UsersController#create as */*
Parameters: {"name"=>"JJ", "email"=>"REDACTED", "password"=>"[FILTERED]", "username"=>"bobo", "password_confirmation"=>"[FILTERED]", "challenge"=>"REDACTED", "timezone"=>"Europe/London"}
Completed 200 OK in 335ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 23323)
Started POST "/login" for REDACTEDPUBLICIP at 2024-09-26 08:13:04 +0000
Processing by StaticController#enter as HTML
Parameters: {"username"=>"bobo", "password"=>"[FILTERED]", "redirect"=>"/u/account-created"}
Redirected to https://REDACTEDDOMAIN/u/account-created
Completed 302 Found in 1ms (ActiveRecord: 0.0ms | Allocations: 507)
Started GET "/u/account-created" for REDACTEDPUBLICIP at 2024-09-26 08:13:04 +0000
Processing by UsersController#account_created as HTML
Rendered layout layouts/application.html.erb (Duration: 14.0ms | Allocations: 4624)
Completed 200 OK in 21ms (Views: 15.1ms | ActiveRecord: 0.0ms | Allocations: 6821)
Started GET "/sidekiq/queues/critical" for REDACTEDPUBLICIP at 2024-09-26 08:13:15 +0000
No log, ele mostra e-mail preciso para os parâmetros de registro, mas o sidekiq ainda relata “to_address”=\u003enil
Há algum erro na página de Logs de Erro do seu site? Essa página está em /logs. Você pode acessá-la a partir da barra lateral do administrador clicando na entrada Segurança / Logs de Erro.
Posso fornecer o processo exato que usei. Talvez algo no processo que estou fazendo esteja errado. Estou totalmente disposto a aceitar que estou cometendo um erro em algum lugar!
Tenho um domínio. É discourse.domain.dev (domínio obviamente omitido)
Tenho uma conta de e-mail configurada. Tenho uma conta Mailgun, então configurei um novo usuário para SMTP. O e-mail é discourse@discourse.domain.dev
Tenho um servidor. É o Ubuntu mais recente (Jammy Jellyfish)
Executei ./discourse-doctor. Falhou porque não conseguiu se conectar ao redis.
Executei ./launcher rebuild app e não mudei nada na configuração
Construiu. Tudo ok. A única diferença foi a última string longa omitida.
Executei ./discourse-doctor. Recebi o e-mail de teste dele.
O site estava no ar, então fui criar uma conta de usuário para o administrador.
Cliquei em Registrar
Disse que estava enviando um e-mail de notificação.
Nenhum recebido.
Verifiquei através de ./discourse-docter e vi isto: Versão do Discourse em discourse.domain.dev: NÃO ENCONTRADA Versão do Discourse em localhost: NÃO ENCONTRADA
Executei ./launcher enter app
Executei rake admin:create
Coloquei e-mail: meu@personal.email
Redefini a senha, pois o usuário já existe
Dito “Sua conta agora tem privilégios de administrador!”
Fiz login no site no domínio
Vá para discourse.domain.dev/logs - veja "Teste de heartbeat do Sidekiq falhou, reiniciando`