Como desativar o email para usuários em espera?

Continuando a discussão de Descrição de vários estados de usuário no Discourse (Admin / Moderador / Equipe / Desenvolvedor / Outro):

Tenho um fórum que inclui uma importação do Google Groups. Por motivos específicos, a intenção é que isso seja um arquivo estático do Google Group. O Google Group continuará funcionando de forma independente e o fórum simplesmente incluirá suas postagens como dados arquivados estáticos. Atualmente, estou fazendo isso executando periodicamente o script de importação do Google, mas pretendo em breve configurar o recebimento de e-mails e inscrever a categoria na lista do Google Group.

Desativei enabled staged users. Todos os usuários aparecem como active=false e staged=true.

Se alguém responder a uma postagem, recebe um e-mail.

Se alguém enviar uma mensagem privada (PM) a eles, recebem um e-mail.

Se eu alterar o status staged do usuário para false, eles não recebem mais PMs, mas ainda recebem notificações sobre respostas às suas mensagens. Isso parece um comportamento adequado e é exatamente o que outra pessoa perguntou hoje, mas essa entidade acredita que não tem permissão para enviar e-mails a esses usuários do Google Group que não criaram uma conta no fórum.

Talvez eu possa modificar o script de importação e/ou criar um plugin que faça algo como definir automaticamente todos os usuários com active=false como staged=false? Ou talvez eu configure a categoria de arquivo para que não possa ser monitorada (em um plugin, imagino)?

Para registro, aqui está como os usuários staged devem ser tratados:

Continuando a discussão de Como desativar e-mails para usuários em estágio?:

Bem, não consegui encontrar uma maneira de impedir que usuários em estágio recebam e-mails, então acho que farei o seguinte:

def no_mail_for_staged_users
  staged=User.where(staged: true)
  staged.all.each do |user|
    o=UserOption.find_by(user_id: user.id)
    o.email_level = 2
    o.email_messages_level = 2
    o.email_digests = false
    o.save
  end
end

e modificarei o script mbox para desativar de forma semelhante os e-mails para os usuários em estágio que ele cria.

Se alguém tiver ideias melhores, ficarei interessado em ouvir.

Você está na versão mais recente? Houve um bug relacionado a usuários em staging recebendo e-mails, que foi corrigido na última semana ou duas.

Isso seria bom. Vou verificar na segunda-feira e ver sobre desfazer as alterações na opção do usuário.

existe um plugin para isso?

Este é um tópico muito antigo e o que eu estava fazendo quando escrevi isso não é mais possível.

Parece que adicionei essa função ao script que importava os usuários. Se isso é algo que você quer que aconteça por algum motivo, então você provavelmente precisará de um plugin para fazer isso. Descreva o que está acontecendo que está criando os usuários em estágio que você não quer receber e-mail; você provavelmente precisará atualizar o que quer que esteja fazendo isso para executar um script como o que incluí. Se você precisar de um plugin personalizado para fazer isso, você pode postar em Marketplace ou entrar em contato comigo diretamente.