Temos notado em alguns fóruns que usam o Discourse para espelhar uma lista de e-mails pública que algumas postagens estão sendo atribuídas ao usuário errado:
de: [ruby-talk:444110] exif - photo metadata - ruby-talk - Ruby Mailing List Mirror
Neste caso, o Discourse primeiro registrou um usuário com o nome “Austin Ziegler via ruby-talk” com um endereço de e-mail correspondente ao endereço de envio da lista, e é isso que aparece para todas as postagens como esta.
de: https://community.nanog.org/t/txt-att-net-outage/56955/4
Neste caso, o Discourse primeiro registrou um usuário com o nome “Mailman” com um endereço de e-mail correspondente ao endereço de envio da lista.
Após investigação, nosso processamento de e-mail está às vezes incorreto. A causa é que para conformidade com DMARC, o Mailman às vezes altera o cabeçalho From para si mesmo e coloca o remetente original no reply-to:
To: Ryan Davis via ruby-talk
X-MailFrom: tom@tomsdomain.com
X-Mailman-Version: 3.3.3
Reply-To: Ruby users <ruby-talk@ml.ruby-lang.org>
From: Tom Reilly via ruby-talk <ruby-talk@ml.ruby-lang.org>
Cc: Tom Reilly <tom@tomsdomain.com>
To: Jared Mauch <jared@jaredsdomain.com>
X-BeenThere: nanog@nanog.org
X-Mailman-Version: 2.1.39
From: Owen DeLong via NANOG <nanog@nanog.org>
Reply-To: Owen DeLong <owen@owensdomain.com>
Cc: nanog <nanog@nanog.org>
mas o deixa quando não precisa mudar:
To: Jon Lewis <jlewis@jonsdomain.org>
X-BeenThere: nanog@nanog.org
X-Mailman-Version: 2.1.39
From: William Herrin <bill@billsdomain.us>
Cc: nanog@nanog.org
Parece haver muitas opções diferentes de comportamento aqui, então gostaríamos de criar um algoritmo para analisar corretamente o que o Mailman envia em todos os casos.
Existem potencialmente outras opções, por exemplo, o Mailman poderia postar a mensagem inalterada diretamente em uma instância do Discourse, mas essas são mais complexas de configurar e podem não estar disponíveis para todos.
Aqui está o início de um:
- se
mailman-version< 3- se algum dos seguintes:
- O endereço
Fromcorresponde aList-Id - O endereço
Fromcorresponde aList-Post - O endereço
Fromcorresponde aX-BeenThere
- O endereço
- então use
Reply-TocomoFrom
- se algum dos seguintes:
- se
mailman-version>= 3- se
X-MailFromexiste- Use o nome do cabeçalho
From, removendo/via .*/ - Use o e-mail de
X-MailFrom
- Use o nome do cabeçalho
- se
Além disso, quando tudo isso for dito e feito, é possível ter uma tarefa rake para reprocessar postagens existentes (provavelmente apenas as que correspondem ao usuário errôneo) com essa nova lógica?

