Isso pode ser apenas uma falha pessoal minha, mas estou um pouco confuso com alguns dos relatórios de erro que estou recebendo após configurar a resposta por e-mail.
Quando alguém responde a uma mensagem a partir de um endereço de e-mail não associado à sua conta, a mensagem de erro (em uma instância do Discourse auto-hospedada) pode estar errada? Parece que a mensagem deveria ser aquela que se recebe ao enviar para um endereço incorreto, e não de um endereço não reconhecido.
A mensagem que recebo nesse caso tem a linha de assunto Problema de e-mail – Endereço de Destinatário Desconhecido, e o corpo parece assim:
Lamentamos, mas sua mensagem de e-mail para [“SNIP”] (com o título Re: Help Please) não funcionou.
Nenhum dos endereços de e-mail de destino é reconhecido, ou o cabeçalho Message-ID no e-mail foi modificado. Certifique-se de que está enviando para o endereço de e-mail correto fornecido pela equipe.
Alterar o endereço no campo De: nas minhas respostas para corresponder ao associado à conta parece resolver o problema.
Existe uma maneira fácil de modificar esse comportamento? Configurei algo errado?
(Devo talvez dizer que o que realmente esperava seria uma opção para ignorar completamente o cabeçalho De: e, em vez disso, usar apenas a chave de resposta, conforme discutido aqui; há alguma chance disso?).
Ah, talvez isso ocorra porque seja uma resposta a uma MP, e não a um tópico público, e, portanto, o Discourse ache que a pessoa que enviou o e-mail (que ele não reconhece como um usuário válido) não deveria poder enviar para esse endereço?
Isso poderia explicar por que ele está marcando o endereço de “Para:” como inválido, em vez do endereço de “De:”?
Enquanto isso, alterei o texto dessa mensagem para esclarecer que o problema pode estar no campo De:ou no campo Para:.
Por que o Discourse aceitaria um endereço de e-mail aleatório, que não corresponde a nenhuma conta de usuário válida no site de destino?
Você sempre precisa ter uma conta válida e autenticada para publicar algo no Discourse.
(Há uma exceção para usuários em fase de teste, mas isso é específico para o gerenciamento de uma caixa de entrada de e-mail por meio de PMs do Discourse)
Isso ocorreria porque o erro de permissão é convertido em um erro de “não encontrado” em algum lugar da pilha e, em seguida, o código de e-mail utiliza a mensagem de “não encontrado”…
Poderia-se argumentar que o reply_id (que parece mapear tanto para um tópico quanto para a pessoa que está respondendo) é identificador suficiente, e falsificar o reply_id é mais difícil do que falsificar um endereço de e-mail, então é efetivamente tão seguro com ou sem vir do endereço de e-mail correto.
Mas eu não estou realmente tentando argumentar isso. O que você está dizendo aqui faz todo o sentido. E, após refletir sobre isso, percebo que o que levou a esse comportamento é definitivamente um caso de borda (temos SSO criando contas com endereços de e-mail universitários, mas às vezes as pessoas encaminham esses e-mails para outros endereços, de onde respondem).
Minha verdadeira pergunta é sobre o conteúdo do e-mail de erro que as pessoas recebem nesse caso, que parece poder ser enganoso. O problema real, ou pelo menos a coisa que a pessoa que recebe o e-mail de erro tem controle sobre neste caso, é o endereço “De” (e o endereço associado à conta dela), e não o endereço “Para”, pelo que pude perceber.
De qualquer forma, já tenho uma solução alternativa:
alterando o conteúdo dessa mensagem (adoro que o Discourse seja tão personalizável!) e
orientando as pessoas a alterarem seu endereço de e-mail se quiserem usar a resposta por e-mail
mas estou apenas me perguntando se faz sentido alterar algo sobre quais mensagens de erro são enviadas em quais situações, dada essa possível confusão.
Se a resposta a isso for “Não, as coisas estão bem como estão”, isso é totalmente aceitável.
Já temos suporte preliminar para endereços de e-mail alternativos por usuário.
Me pergunto, @sam e @eviltrout, quando vamos formalizar um pouco mais isso para que os usuários possam adicionar um endereço de e-mail secundário? Isso deve ser incluído no roteiro da versão 2.5?
Acho que devemos começar destacando isso na página de usuário do administrador, para que você possa visualizar/adicionar endereços de e-mail para a versão 2.5. Talvez, em seguida, adicionar uma UX rudimentar nas páginas de administração para mesclar usuários, já que agora temos a tarefa rake bem testada.
Ainda estou lutando para entender por que o Discourse confia/valida o cabeçalho From:, já que ele pode ser falsificado tão trivialmente?
O cabeçalho de ID de resposta fornece uma validação útil, pois é impossível de adivinhar ou descobrir por parte de pessoas mal-intencionadas.
Validar o cabeçalho From: simplesmente faz com que usuários legítimos recebam rejeições confusas em suas tentativas de postar por e-mail, caso respondam de um endereço de e-mail diferente (um caso de borda que é mais comum do que se imagina).
Eu tenho muitos endereços de e-mail, e alguns dos meus usuários também.
Eu sinceramente não estou tentando provocar uma briga aqui. Estou apenas um pouco ressentido com esse problema, pois ele contribuiu para que um membro muito importante de um dos meus fóruns decidisse deixar de contribuir com o fórum.
Então você deveria estar defendendo a implementação da configuração de múltiplos endereços de e-mail por usuário. Role para cima e leia um pouco, talvez?
Infelizmente, não sei se a funcionalidade proposta resolveria o problema enfrentado na minha instância do Discourse.
No meu caso, a usuária é a presidente de uma associação civil. Ela tinha dois endereços de e-mail e duas contas no Discourse (uma para cada endereço). Uma conta representava sua identidade pessoal, e a outra era para postagens “oficiais” em nome da associação civil.
Quando ela respondia por e-mail, frequentemente o fazia do endereço “errado”, fazendo com que suas respostas fossem rejeitadas.
Suponho que a funcionalidade em discussão acima envolveria múltiplos endereços de e-mail por conta do Discourse, mas (naturalmente) não permitiria múltiplas contas do Discourse para um único endereço de e-mail. Assim, infelizmente, não atenderia ao meu caso de uso.
Eu poderia, do ponto de vista técnico, mas é intencional que o usuário possa postar sob duas identidades distintas (pessoal / em nome da sociedade civil).
É. Às vezes, as pessoas ficam presas nesse cenário, mas eu provavelmente o chamaria mais de um caso de canto do que de caso limite
Estou entendendo corretamente que essa pessoa efetivamente tem duas identidades, mas ambas acabam na mesma conta de e-mail por algum motivo? Se for verdade, parece que ela estaria enfrentando esse cenário problemático em mais lugares do que apenas no Discourse. Talvez seja um trabalho melhor para ser tratado no cliente de e-mail?
Tenho alguns apelidos relacionados ao trabalho na minha conta de e-mail corporativo, mas o cliente corresponde ao endereço “de” para respostas ao endereço para o qual o e-mail foi enviado…
Concordo, é um caso de borda, e se ela não fosse uma usuária tão proeminente, não teria sido um grande problema.
Para criar duas contas no Discourse, usamos o gmail dot hack para que ela pudesse criar dois endereços de e-mail para sua caixa de entrada do Gmail, a fim de poder criar duas contas no Discourse.
Quando ela responde por e-mail a uma postagem no fórum, o Gmail nem sempre usa a mesma variante de endereço de e-mail que o Discourse espera.
Na minha opinião, desde que o ID da resposta seja válido, o Discourse deveria aceitar a resposta.
O uso de pontos é extremamente frágil, e eles provavelmente teriam uma experiência muito melhor usando endereçamento com o sinal de mais (+).
Se ambas as contas usarem um endereço com sinal de mais e nenhuma conta estiver no endereço base, o seletor de endereço “De:” funcionará perfeitamente. Esquecer de configurá-lo simplesmente resultará na rejeição do e-mail, em vez de ser enviado na conta errada.
Usar + em vez de pontos também traz muita clareza aos seus filtros, hehe