Emails de digest não estão sendo enviados para todos os usuários – Precisando de ajuda para depurar

Olá a todos,

Um grande fórum Discourse está enfrentando um problema onde os e-mails de resumo (e-mails de resumo de atividade) não estão sendo entregues a todos os usuários elegíveis como esperado.

Detalhes do Problema:

  • Entendo que os e-mails de resumo são enviados apenas para usuários inativos, mas com base em nossas configurações, ainda deveriam haver muitos destinatários.
  • Alguns usuários que foram vistos pela última vez nos últimos 180 dias não estão recebendo e-mails de resumo.
  • Não há erros claros nos logs do Admin > Emails > Skipped (Administrador > E-mails > Ignorados), mas os e-mails não estão sendo entregues.

Configurações e Configurações Verificadas:

  1. Envio Baseado na Atividade do Usuário:
  • Usuários que visitaram recentemente não deveriam receber resumos, mas confirmei que há muitos usuários que não visitam há mais de 30 dias e ainda assim não receberam um.
  1. suppress_digest_email_after_days:
  • Definido para 180 dias (padrão). No entanto, usuários inativos por menos de 180 dias ainda não estão recebendo resumos.
  1. default_email_digest_frequency:
  • Inicialmente definido para semanal (10080 minutos)
  • Alterado para diário (1440 minutos), mas ainda não está enviando e-mails.
  1. Logs de E-mail e Verificações de Entrega:
  • Os logs Admin > Emails > Sent/Skipped (Administrador > E-mails > Enviados/Ignorados) não indicam que os resumos foram tentados e ignorados.
  • Nenhuma preferência de e-mail do lado do usuário bloqueando resumos (verificado em contas de teste).
  1. Servidor e Provedor de E-mail:
  • Usando um provedor de e-mail de alto volume que suporta envio em larga escala.
  • Nenhuma evidência de limites de taxa ou problemas de entregabilidade.
  • Outros tipos de e-mails (notificações, redefinições de senha, etc.) estão sendo entregues normalmente.

Perguntas:

  • Existe uma maneira de forçar o envio de um e-mail de resumo para todos os usuários que atendem aos critérios de inatividade?
  • Poderia haver algum problema subjacente causando o não envio de resumos, mesmo quando todas as configurações parecem corretas?
  • Existem limites conhecidos para fóruns grandes que podem afetar o agendamento ou envio de resumos?
  • Ajustar outras configurações ajudaria a garantir que os resumos cheguem aos usuários regularmente?

Agradeceria qualquer orientação ou sugestão de solução de problemas. Obrigado antecipadamente!

3 curtidas

Para testar isso, definimos a frequência do resumo para 30 minutos, garantimos que uma nova postagem fosse feita e, ainda assim, nenhum e-mail de resumo foi enviado aos usuários elegíveis.

2 curtidas

Estou auxiliando @emonunix nisso. Parece que temos um job do sidekiq rodando a cada 30 minutos relacionado a este processo - sem saber como solucionar esse job, ele parece rodar sem problemas. Aqui está o status atual.

Talvez existam outros lugares para procurar falhas?

3 curtidas

Tenho testado diferentes configurações para entender por que os e-mails de digestão não estão sendo enviados conforme esperado. Tentei definir a frequência do digest para 30 minutos para testes, mas a configuração não conseguiu salvar e exibiu um erro após alguns minutos.

Como o tamanho do fórum é grande, suspeito que isso possa estar relacionado a como o Discourse processa essas mudanças em escala. No entanto, não vi nenhum registro de erro sendo gerado, o que dificulta a resolução de problemas.

Se alguém tiver insights sobre por que as configurações podem não conseguir salvar—especialmente em fóruns grandes—ou como forçar os registros a capturar mais detalhes, agradeceria qualquer orientação.

3 curtidas

Estou encontrando alguns erros no console:

Erros no Console:

  1. 502 Bad Gateway
    • URL: /admin/site_settings/default_email_digest_frequency
    • Falha ao carregar recurso: o servidor respondeu com um status de 502.
  2. 429 Too Many Requests
    • URL: /message-bus/9787a3d46f4640699f8b3bd12d33a6c8/poll
    • Erro no console: POST /message-bus/... 429 (Too Many Requests)

Não tenho certeza do que está causando isso — qualquer insight seria apreciado!

3 curtidas

Adicionando mais detalhes aqui. Já passamos por este guia várias vezes:

Ele não forneceu nenhuma resolução para o nosso problema.

Alguém tem os próximos passos para verificar por que os resumos não estão sendo enviados? Existe um processo ou alguma maneira de verificar se o sistema está fazendo…

  • A busca de assinantes elegíveis?
  • Obtendo a lista?
  • Colocando a lista na memória?
  • Movendo para a geração etc?
2 curtidas

Pergunta rápida, você alterou retroativamente essa configuração para todos os usuários? Porque, até onde eu sei, uma vez que é definida na criação da conta, ela não muda se você alterar os padrões.

Verifique seu próprio perfil e veja se é o valor que você espera.

3 curtidas

Sim, quando verifiquei o meu e o perfil de alguns usuários aleatórios, percebi que as configurações refletiam lá.

1 curtida

Obrigado @Bas, atualizamos para 30 e você pode aplicá-lo retroativamente — o sistema exibe uma mensagem confirmando que os registros de usuários estão sendo atualizados ao fazer essa alteração.

Além disso, não acho que o erro esteja relacionado ao não envio dos e-mails de resumo, pois confirmamos que usuários com a configuração correta ainda não os estão recebendo.

Me avise se tiver mais alguma ideia!

2 curtidas

Você verificou algumas das contas que não estão recebendo para ver se elas têm categorias e/ou tags silenciadas? Acredito que se você tiver silenciado, o resumo não incluirá tópicos.

Caso contrário, a equipe é provavelmente o melhor recurso.

Outra coisa com seu servidor de e-mail, você adicionou o registro DNS dkim ao seu domínio? Não tenho certeza se isso é necessário de todos os provedores SMTP. Mas pode ajudar com e-mails que não são marcados como spam ou são bloqueados. Você pediu aos usuários para verificarem o spam?

2 curtidas

Obrigado @Heliosurge para ser claro, os e-mails não são enviados de forma alguma, então não é uma questão de se eles são vistos ou bloqueados, ou entregues no spam - o discourse não os está processando em primeiro lugar. Aqui está uma captura de tela da atividade nos últimos dias:

Tenha em mente que isso deveria ser algo como 90 resumos por dia com base nas configurações e configuração.

[captura de tela foi editada pois continha endereços de e-mail do usuário]

Portanto, pelo que podemos ver, os e-mails nem sequer são enfileirados - é como se o trabalho não estivesse rodando, ou falhando… ou ambos.

2 curtidas

Ok, mas o outro componente é verificar também as preferências de um membro em tags e categorias. É possível que eles tenham coisas silenciadas

Outra coisa que um membro da equipe responderia melhor é se um membro usa o link de cancelamento de inscrição no e-mail se isso muda visivelmente as coisas nas preferências do usuário.

Para ser honesto, acho esse problema como iddm. Mas pode haver algum tipo de bug, talvez.

Tudo o que você compartilhou, na minha opinião, deveria estar funcionando como esperado.

2 curtidas

@Heliosurge desculpe responder à sua pergunta. Claro, pode haver alguns usuários com configurações que os impedem de receber o resumo. Temos um número de usuários de demonstração no site onde estamos controlando as configurações e verificamos (achamos) que as coisas deveriam ser entregues. Portanto, não acho que seja um caso em que todas as 80 pessoas ajustaram suas configurações para NÃO receber o resumo.

Uma coisa estranha é que hoje notei que, quando visito o site, a linha ‘última visita’ é muito antiga, como 9 dias, mas eu visito todos os dias - então isso não é preciso. Essa lógica também poderia estar relacionada ao que o Discourse está considerando como a data para enviar o resumo? Não tenho ideia, apenas pareceu estranho para mim, e neste ponto estamos praticamente nos agarrando a qualquer coisa para os próximos passos…

2 curtidas

Isso pode estar relacionado. Peça a outros usuários para verificarem isso para ver se notam se é preciso.

Para confirmar que você está olhando para a última visita ao site? Sua foto, acredito que seja a última atividade/postagem no tópico.

1 curtida

Obrigado @Heliosurge
Como @Jacob_Peebles está visitando o site com frequência acima da linha ____ última visita ____, ele só deveria ver as postagens mais recentes, como de 5/10 minutos atrás ou 1/2 horas atrás.
Não conseguimos descobrir por que o Discourse está mostrando postagens de 8/9 dias atrás acima da última visita.
Verifiquei em minha conta, não encontrei esse problema.

1 curtida

Realmente não tenho certeza a partir daqui. Como administrador, muitas vezes somos os últimos a tomar conhecimento de um problema.

Você disse que as informações da sua última visita parecem corretas, enquanto a última visita do @Jacob_Peebles não está sendo atualizada corretamente?

Será que outros usuários estão enfrentando o mesmo?

Jacob, sua conta está recebendo e-mails de digestoe? Agora, é claro que, com frequência online, talvez você não esteja no período de tempo do iirc para que um e-mail de digest seja enviado. No entanto, não vejo uma configuração para quanto tempo um usuário fica ausente, a menos que seja a configuração que você mencionou de 30 minutos, hora, diário ou semanal.

Certamente, entendo como isso pode ser frustrante, pois poderia ser usado para ajudar a reduzir a carga de e-mails enviados, enviando apenas os e-mails considerados necessários.

1 curtida

@Heliosurge não, eu não estou recebendo o resumo, mas nenhum usuário recebeu o resumo nos últimos 3 dias também.

Sim, é super frustrante, não há dúvida. Pelo que podemos ver, não há erro no sistema, nada no sidekiq, nada nos logs, então isso poderia acontecer com qualquer um… e eles nunca saberiam que os e-mails não estão sendo enviados como esperado… assustador.

Pode estar relacionado a esta configuração do site

Essa configuração pode permitir que um membro que não fez logout, se eu entendi corretamente, até 60 dias.

Talvez tente 2 horas?!? Não tenho certeza por que a configuração está definida para 60 dias. A menos que a descrição da configuração não seja precisa?

Porque é uma dor nos lugares sensíveis fazer login constantemente. Se bem me lembro, estou usando 365 dias. E não há problemas conhecidos desse tipo.

2 curtidas

A idade da sessão apenas evita que tenhamos que fazer login constantemente, o que não tem nada a ver com os resumos por e-mail, pelo que sei.

3 curtidas