Привет, вы все,
Моя проблема в том, что я отправляю письмо с вложением на адрес электронной почты, связанный с категорией. Всё работает отлично: письмо появляется в обзоре тем, текст отображается безупречно. Вы также видите вложения, аккуратно добавленные к теме (ссылки на PDF ведут прямо в ../public/uploads/default/original/1X/ с корректно сгенерированным хешем, например, 9559e1bdae42ab7b2e6bb406e0093ebc6e2f740e.pdf, а изображения встроены и имеют короткие URL
). Однако, если я нажимаю на указанные файлы, происходит неожиданное:
404 Not found
, а встроенные изображения не отображаются.
Я немного углубился в проблему. Логи выглядят безобидно: текст обрабатывается и так далее:
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"=>"[весь исходный код письма с вложениями в 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)
Но файлы так и не попадают ни в ../public/uploads/default/original/1X/, ни в /tmp/
. (Так что совершенно очевидно, что ссылки в представлении темы не будут выдавать файлы.)
У меня нет идей, как продолжить отладку этой проблемы. (Поскольку компонент discourse/mail-receiver корректно «передаёт» письмо в Discourse, я исключаю его из дальнейшего рассмотрения.) Я уже нашёл LOC, где должно происходить создание файла (по крайней мере, во временной папке), но этого не происходит (и ошибки не выбрасывается). Также стоит упомянуть, что если я добавляю вложения к темам через фронтенд, всё работает как по маске, и файлы попадают в папку uploads
![]()
Есть ли у вас какие-либо подсказки, где продолжить поиск и отладку? Или вы слышали о подобных исчезнувших
вложениях в письмах ранее?