Olá pessoal,
meu problema é que envio um e-mail com um anexo para um endereço de e-mail conectado a uma categoria. Tudo funciona perfeitamente: o e-mail aparece na visão geral do tópico, o texto é renderizado corretamente e os anexos são exibidos de forma adequada no tópico (os links PDF apontam diretamente para ../public/uploads/default/original/1X/ com um hash bem gerado, por exemplo, 9559e1bdae42ab7b2e6bb406e0093ebc6e2f740e.pdf, e as imagens são incorporadas e encurtadas
). Mas, ao clicar nesses arquivos, ocorre algo inesperado:
404 Not found
, e as imagens incorporadas não são exibidas.
Investiguei um pouco mais. Os logs parecem inofensivos: o texto é renderizado, etc.:
Started POST "/admin/email/handle_mail" for 173.55.78.161 at 2020-06-11 11:53:19 +0000
Processing by Admin::EmailController#handle_mail as */*
Parameters: {"email"=>"[todo o conteúdo do e-mail com anexos em base64]"}
Rendering text template
Rendered text template (Duration: 0.0ms | Allocations: 1)
Completed 200 OK in 6ms (Views: 2.0ms | ActiveRecord: 0.0ms | Allocations: 1399)
No entanto, os arquivos nunca chegam a ../public/uploads/default/original/1X/ nem a /tmp/:
. (Portanto, está totalmente claro que os links na visão dos tópicos não conseguirão exibir os arquivos.)
Não tenho ideia de por onde continuar a depuração. (Como o módulo discourse/mail-receiver “envia” o e-mail corretamente para o Discourse, eu o excluo das próximas etapas de investigação.) Já localizei o LOC onde a criação do arquivo deveria ocorrer (pelo menos na pasta tmp), mas isso não acontece (e nenhum erro é lançado). Vale mencionar que, se eu adicionar anexos aos tópicos pelo front-end, tudo funciona como um charme e os arquivos são salvos na pasta uploads:
![]()
Vocês têm alguma dica sobre por onde continuar a busca pela solução? Ou já ouviram falar de anexos de e-mail que desaparecem assim antes? ![]()