E-mail em massa sem duplicatas

Imagine que um membro selecionou grupos e subcategorias de seu interesse.

Quero enviar um anúncio para aqueles que selecionaram qualquer um desses grupos e subcategorias.

Exemplo: Em uma cidade composta pela cidade principal global, vários distritos e assuntos.

O usuário pode selecionar:

  • Um assunto específico (que é um grupo geral),
  • Um grupo em seu distrito para este assunto,
  • Um grupo em outros dois distritos para este assunto,
  • Um segundo assunto específico (que é um grupo geral),
  • Todos os grupos em todos os distritos para este assunto,
  • O grupo principal para a cidade principal;

Se eu quiser enviar um e-mail para um ou mais grupos ou subcategorias nesses grupos, alguns usuários podem acabar recebendo mais de um e-mail do mesmo anúncio, especialmente se a pessoa selecionou o grupo da cidade principal que encaminharia as informações de todos os distritos, mais alguns subgrupos, etc.

A pergunta: Como posso preparar um envio de e-mail que abranja mais de um grupo e lista de subcategorias de destino, sem duplicatas, e enviar essa mensagem?

  1. Preciso usar um script externo?

  2. Preciso de um processador de e-mail externo?

Obrigado

Marc

Se você precisar de entrega garantida sem duplicatas em conjuntos arbitrários de grupos e categorias, você deve:

  • Exportar listas de usuários dos grupos ou categorias direcionados.
  • Mesclar e remover duplicatas dessas listas, manualmente ou usando um script.
  • Usar um processador de e-mail externo para enviar a mensagem para a lista sem duplicatas.

Esta é a maneira mais robusta de garantir que os usuários não recebam o mesmo anúncio várias vezes.

Obrigado, você sabe se podemos automatizar isso, como solicitar à API que receba mensagens para cada registro/saída de novo membro ou seleção de grupo/categoria, e receber apenas as novas alterações OU (menos bom) a lista inteira com seu grupo/categoria, que pode ser solicitada por um programa Python? (Eu consigo codificar Python). A questão é mais sobre comunicação automática entre Discourse e Python E Python e processador de e-mail.

O Discourse fornece uma API REST robusta que permite:\n\n* Listar todos os usuários, grupos e associações de usuários a grupos\n* Monitorar novos registros de usuários e ações de entrada/saída de grupos (via polling ou webhooks)\n* Recuperar configurações de associação de categorias\n\nVocê pode consultar a lista completa ou tentar rastrear alterações recentes. Para detecção completa de alterações incrementais, pode ser necessário implementar verificações baseadas em tempo e gerenciar diferenças localmente. A autenticação é tratada por meio de cabeçalhos HTTP (Api-Key, Api-Username).\n\nNo entanto, para um controle mais eficiente e integrado, recomendo a criação de um plugin personalizado do Discourse. Um plugin é executado dentro do ambiente do servidor Discourse e fornece acesso direto aos internos do Discourse, como:\n\n* Atualizações de associação de usuários, grupos e categorias\n* Ganchos de eventos de ciclo de vida para registros e alterações de grupo\n* Acesso direto às APIs internas e ao banco de dados do Discourse\n\nEssa abordagem oferece capacidades em tempo real e maior flexibilidade para implementar fluxos de trabalho automatizados, como manipulação de e-mail ou segmentação de usuários.

Podemos criar um plugin que funcione em nossa instância mesmo que ela seja hospedada pelo Discourse, ou precisamos hospedá-lo?

Se for um plugin não oficial, acho que você só pode instalá-lo no plano Enterprise, caso contrário, terá que auto-hospedá-lo.

  • Gerar listas dinâmicas (dados de usuário/grupo/categoria) e exibi-las ou armazená-las dentro do Discourse.
  • Exportar dados para um arquivo ou criar relatórios de administrador para download.
  • Fazer requisições HTTP(S) para outro servidor (por exemplo, enviar atualizações de lista de usuários para sua ferramenta Python/e-mail).
  • Acionar webhooks, agendar tarefas ou integrar diretamente com APIs externas — tudo de dentro do Discourse, sem necessidade de polling.

@EMHmark7 você conseguiu descobrir como você quer que isso funcione?

No Discourse, uma maneira de conseguir o que você quer é criar categorias e permitir que os membros da comunidade “assinem” essas categorias escolhendo o nível de notificação “assistindo”. As Categorias padrão assistindo ou Primeira postagem de categorias padrão assistindo são úteis para ter uma categoria de anúncios em seu site, para alcançar todos em seu site.

Acredito que existam maneiras de gerenciar o acima com base na associação a um grupo ou a algum outro critério, mas não faço isso há algum tempo - talvez outra pessoa tenha uma receita que possa compartilhar.

Outra abordagem é enviar uma mensagem privada diretamente para os grupos - se você enviar uma mensagem privada para um punhado de grupos e o mesmo membro estiver em vários grupos, não haverá duplicação.

Mas, ao que me parece, você pode estar procurando uma ferramenta diferente, se o que você quer não é um fórum ou comunidade em que as pessoas façam login para participar de discussões, mas sim um monte de listas de e-mail que enviam e-mails.

Tudo isso pode viver em código fora do Discourse, então você não precisa instalá-lo. Se você estiver usando WordPress, poderá obter muito disso gratuitamente usando GitHub - discourse/wp-discourse: WordPress plugin that lets you use Discourse as the community engine for a WordPress blog e, em seguida, usar outro plugin do WordPress para lidar com a parte da lista de e-mail.