O Mailgun às vezes não envia e-mails

Olá pessoal, sou eu de novo :slight_smile:
Notei que, quando novos usuários estão se cadastrando em nosso fórum, às vezes eles não recebem um e-mail.

Na imagem a seguir, você pode ver que alguns usuários foram registrados há 3 dias e até mesmo há 7 dias, mas não receberam um e-mail de registro (a caixa vermelha diz “última vez que o e-mail foi enviado”).

Sei que a configuração de e-mail está correta, pois consigo receber e-mails (por exemplo, posso testar clicando em “esqueci a senha” e recebo um e-mail com as instruções). Estou ciente de que o Mailgun é uma empresa diferente, mas não tenho certeza se o problema vem deles. O que poderia ser o problema?

EDIT: Também tentei me registrar agora e a mensagem diz que o Discourse enviou um e-mail de registro, mas não o encontrei na minha caixa de entrada (verifiquei todas as pastas, spam e lixeira). Também tentei verificar em e-mails > enviados na área administrativa e não vi “cadastro” para este usuário. Por favor, ajudem, pois parece que novos usuários conseguem se registrar em nosso fórum.

Verifique seus logs do Mailgun.

Obrigado pela resposta rápida :slight_smile:
Verifiquei os logs e não há nenhum sinal de tentativa de envio do e-mail de registro. Por isso, pensei que o problema pudesse vir do Discourse (talvez ele não consiga solicitar ao Mailgun que envie o e-mail?). Alguma ideia?

Tem certeza de que seu provedor de hospedagem de servidor não está bloqueando a porta que você usa para e-mails?

Alguns provedores (incluindo o DigitalOcean) são conhecidos por bloquear as portas 25, 465 e 587 para evitar spam de servidores novos. Se você estiver enfrentando esse problema, talvez tente usar o Mailgun com a porta 2525 (altere a porta no app.yml e reconstrua).

Uma maneira fácil de verificar se sua porta está bloqueada é usar o comando telnet:
telnet smtp.mailgun.com <porta>

Obrigado pela sua resposta.
Infelizmente, não tenho o talnet instalado. Tentei alterar a porta para 2525 (de 587), mas parece que ainda não está enviando e-mails de cadastro. Uso o digitalocean e vi que isso pode ser um problema, mas se eles estiverem bloqueando, o Discourse não deveria registrar isso em admin->mail logs na seção de falhas?

Você está digitando talnet?

O que você vê em /sidekiq?

Você reiniciou recentemente?

Sim, digitei. Também tentei which talnet, mas não retornou nada. (Não é um comando do Linux além de ser um protocolo?)

Tentei verificar /sidekiq (vi essa sugestão em tópicos semelhantes). Não houve falhas nem menções sobre tentar enviar um e-mail de ativação. Reiniciei recentemente e tentei mudar a porta do e-mail para 2525, conforme sugerido anteriormente.

É

telnet

Não é talnet

Ah, desculpe, que erro bobo :sweat_smile:
Parece que ambos são válidos:

Então não é um problema do DigitalOcean ou do Mailgun, certo?

Isso não se mostra um problema vindo do Discourse.

Você pode verificar example.com/logs para ver se há algo específico relacionado a e-mails? Também verifique /sidekiq para ver se há jobs falhando.

Nos logs que tenho:

image

Não acho que estejam relacionados ao problema de e-mail, mas se alguém souber como resolvê-los, adoraria ouvir.
No sidekiq, não vejo nenhuma tarefa falhada ou morta.
A propósito, só queria agradecer a todos por tentarem ajudar :slight_smile:

Parece estranho e realmente não consigo pensar em um motivo. Você consegue ver os e-mails sendo processados nos logs do Mailgun? Outros e-mails estão funcionando corretamente? Você consegue enviar e-mails de teste do Discourse para esses endereços de e-mail sem problemas?

As únicas mensagens que consigo ver que foram enviadas são:

O último relatório automático de resumo foi enviado para mim há dois dias (por enquanto, somos um fórum pequeno, então não há muitos e-mails).
Tentei agora testar o envio desse relatório para mim e ele enviou o e-mail de resumo (aliás, ele envia o e-mail de resumo apenas para o administrador, certo? Porque tentei com um usuário comum e não funcionou).
Existe alguma maneira de enviar um e-mail de teste para um e-mail de não administrador?

Aha! Eu consigo ver o problema aqui!

Você limitou a configuração do site disable_emails?

Se estiver definido como Sim ou Apenas para a Equipe, você está bloqueando os e-mails no lado do Discourse, fazendo com que eles essencialmente não sejam disparados para ninguém, exceto para os membros da equipe existentes.

Sim, é isso!
Eu não tinha pensado nisso (talvez porque minhas configurações estejam escritas meio em inglês, meio em hebraico).
Essa é a resposta correta. Perfeito, agora funciona :sweat_smile:
Obrigado a todos pela ajuda :slight_smile: