Tópicos com o mesmo título, gerados a partir de e-mail

Olá, especialistas do Discourse —

Temos alguns scripts que geram e-mails para nossas categorias do Discourse para rastrear automaticamente eventos de projeto, como resultados de testes, novos problemas de usuários sendo reportados, etc. Eu ingenuamente assumi que, se dois e-mails aparecessem com a mesma linha de assunto (digamos, “testes linux64”), eles acabariam automaticamente no mesmo tópico; no entanto, parece que estamos recebendo um tópico separado para cada um desses e-mails. (responder a um tópico por e-mail mantém-no no mesmo tópico, como seria de se esperar, claro).

Pesquisando um pouco nos fóruns sobre isso, encontrei menções às configurações “Permitir tópicos com títulos idênticos e duplicados” e “Permitir tópicos com títulos idênticos e duplicados se a categoria for diferente”. Para minha surpresa, nenhuma delas está marcada em nosso site, mas ainda assim temos tópicos com o mesmo título devido a esses scripts. Será que essas configurações se aplicam apenas a tópicos gerados pela interface do site e não por e-mail?

De qualquer forma, existe alguma maneira de configurar um site do Discourse para que e-mails enviados a uma determinada categoria com uma determinada linha de assunto sejam mesclados automaticamente em um único tópico, em vez de resultar em um tópico por mensagem de e-mail? (Entendo que isso poderia causar uma leve confusão se dois usuários acabarem postando tópicos por e-mail com o mesmo assunto, mas isso parece uma troca razoável para mim).

Obrigado,
-Brad

2 curtidas

Tendo experimentado um pouco mais agora, parece-me que as configurações de ‘Permitir tópicos com títulos idênticos e duplicados’ se aplicam apenas aos tópicos criados via site e não aos recebidos por e-mail. Eu abri um pedido de recurso para estender tópicos quando o assunto de um e-mail corresponde ao seu título em vez de criar uma multitude de tópicos com o mesmo título.

Se você não está olhando o site, como sabe se um título já foi usado?

Se você não está olhando para o site, como sabe se um título já foi usado?

Não tenho certeza se entendi sua pergunta (porque me preocupo em estar me repetindo), mas vou tentar responder:

O cenário que motiva essa pergunta para nosso site Discourse é aquele em que as postagens são geradas por scripts que usam linhas de assunto previsíveis (por exemplo, “linux64 testing”), com a intenção de que elas sejam agrupadas dentro de um único tópico. Para esses scripts, não importa se o título já foi usado ou não, desde que o comportamento seja: “se um tópico com o título da linha de assunto já existir, faça com que o e-mail adicione uma postagem ao tópico existente em vez de criar um novo; se não existir, crie um novo tópico com a linha de assunto como seu título.”

Ficando um pouco mais hipotético, consigo imaginar um usuário que trabalha em um ambiente seguro e não tem permissão para interagir diretamente com sites, mas cujos administradores de sistema refletem o conteúdo de um site de interesse em seu ambiente para navegação somente leitura. Saber a linha de assunto de um determinado tópico permitiria que tal usuário adicionasse uma nova postagem a um tópico específico por e-mail, sem precisar de um e-mail sobre aquele tópico em sua caixa de entrada para responder.

Avise-me se eu mal-entendi o que você está perguntando.

1 curtida

Isso é um caso de uso muito específico para pedir a mudança de um comportamento inteiro.

Você considerou usar algo diferente de SMTP para a entrega de mensagens?

Você já considerou usar algo diferente do SMTP para entrega de mensagens?

Não consideramos, mas certamente poderíamos avaliar se isso for considerado uma prática recomendada. Para ter certeza de que entendi corretamente, você está sugerindo que nossos scripts façam postagens no Discourse interagindo com o site via HTML, como faria um humano? Ou os sites do Discourse oferecem uma API que os scripts possam acessar diretamente? Se você tiver dicas ou exemplos de como poderíamos abordar isso, seria muito útil; ainda somos bastante novos na administração do Discourse.

Ou, eu estava pensando se haveria algum outro truque que poderíamos usar nos cabeçalhos de e-mail para fazer com que o Discourse os anexasse ao tópico existente em vez de criar um novo. Estou assumindo que colocar o assunto como “Re: linux64 testing” é insuficiente e que é o endereço Reply-to: e/ou metadados do cabeçalho do e-mail que fazem com que uma resposta seja anexada a um tópico em vez de iniciar um novo? (nesse caso, poderíamos criar manualmente tópicos para cada possível linha de assunto do script na categoria, descobrir quais seriam esses metadados e então incorporá-los ao nosso script, mas isso pareceria bastante trabalhoso se já houvesse uma maneira de mesclar automaticamente e-mails em um tópico existente por assunto, especialmente para scripts que podem gerar novas linhas de assunto ao longo do tempo).

Esse é um caso de uso muito específico para pedir uma mudança em todo um comportamento.

Talvez, mas, para ser justo, no OP, eu apenas perguntava se havia uma maneira de alcançar o que queríamos e expressava confusão por estarmos recebendo múltiplos tópicos com o mesmo título, mesmo com a configuração “permitir tópicos duplicados” desmarcada. Não consegui encontrar nenhuma documentação indicando que esse era o comportamento esperado e pensei que, já que o Discourse rejeita e-mails por vários motivos (por exemplo, “essa linha de assunto não parece ser uma frase”), poderíamos ter recebido mensagens de erro dizendo “esse título de tópico já existe nesta categoria” (não que isso me deixaria mais feliz, apenas pareceria mais consistente com os títulos das caixas de seleção).

Mas, também não acho que a mudança de comportamento seja tão estranha de se solicitar: acho realmente ótimo e poderoso que sites do Discourse possam aceitar postagens por e-mail. E, no nosso caso, isso representa 80% do caminho para uma boa solução para que scripts gerem atualizações em tópicos existentes do Discourse. E o pedido de recurso parecia semelhante a outros que vi no Discourse-meta que foram implementados, pois parece claramente útil (já que muitos projetos têm scripts que geram e-mails) e não me pareceu estar inerentemente em oposição à filosofia do Discourse (embora, novamente, sejamos novos na parte de administração). Isso não quer dizer que seja uma decisão óbvia de qualquer forma, apenas que não me pareceu irracional fazer essa pergunta.

Comece aqui

1 curtida

Quando é um usuário interagindo com o site, as chaves de resposta por e-mail são usadas para manter tudo no mesmo tópico. Nesse caso, você usaria o modo de lista de distribuição para levar as chaves de resposta para o ambiente seguro.

A funcionalidade de “entrada por e-mail” (diferente de “responder por e-mail”) atualmente só criará tópicos e nunca adicionará conteúdo a um tópico existente.

3 curtidas

Olá @riking e @Stephen,

Achei que tinha entendido o estado do Discourse após seus comentários sobre essa questão na semana passada (que eu resumiria como: “por design, títulos duplicados são aceitos quando enviados via funcionalidade de ‘entrada por e-mail’, independentemente da configuração de ‘permitir tópicos duplicados’, pois não está claro o que mais o site poderia fazer?”). Mas hoje, percebo que estou confuso porque nossos scripts receberam um bounce para certos e-mails, com a mensagem:

O título já foi utilizado

Eu interpretei mal a situação, ou algo mudou do lado de vocês desde a semana passada?

Algumas coisas mudaram do nosso lado, o que poderia explicar a mudança de comportamento:

  • Transformei o endereço de e-mail usado pelos nossos scripts em um “usuário conhecido” no site do Discourse, pois caso contrário eu estava recebendo bounces ocasionais. Então, pensei em dar a ele um nível de confiança mais alto para contornar isso (nas minhas mensagens anteriores, o script estava atuando como um “usuário anônimo”).

  • Adicionei esse usuário conhecido a um grupo para permitir que ele publicasse tópicos em uma categoria restrita (devido ao problema relatado em Category not accepting "anonymous email" from known users - #13 by BradCray).

  • Desativei a capacidade de usuários anônimos postarem nessa categoria, agora que nosso script é um usuário conhecido.

Considerando que nada mudou do lado de vocês, está correto que usuários registrados são submetidos a um padrão mais rigoroso em relação à impossibilidade de enviar tópicos por e-mail com títulos duplicados, comparado a usuários anônimos? E há uma justificativa para essa escolha? (Eu esperaria, em geral, que as capacidades de um usuário registrado fossem superiores às de um usuário anônimo).

Obrigado por qualquer esclarecimento sobre isso.

1 curtida