مرحبًا أيها الأصدقاء،
مشكلتي هي أنني أرسلت بريدًا إلكترونيًا مرفقًا به ملفًا إلى عنوان بريد إلكتروني مرتبط بفئة معينة. كل شيء يعمل بشكل رائع: تظهر الرسالة في نظرة عامة على الموضوع، ويتم عرض النص بدقة. كما تظهر المرفقات بشكل جميل ضمن الموضوع (روابط ملفات PDF مباشرة إلى ../public/uploads/default/original/1X/ مع قيمة تجزئة (hash) مُولَّدة بشكل صحيح، مثل 9559e1bdae42ab7b2e6bb406e0093ebc6e2f740e.pdf)، وتُضمَّن الصور وتُختصر عناوينها (
). ولكن عند النقر على هذه الملفات، يحدث شيء غير متوقع:
خطأ 404: الملف غير موجود
، ولا تظهر الصور المضمنة.
أغوص قليلًا في التفاصيل. تبدو السجلات (logs) غير ضارة: يتم عرض النص، إلخ:
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) حيث يجب أن يحدث إنشاء الملف (على الأقل في مجلد tmp) لكنه لا يحدث (ولا يتم طرح أي خطأ). ومن الجدير بالذكر أيضًا أنه عند إضافة مرفقات إلى المواضيع عبر الواجهة الأمامية، يعمل كل شيء بسلاسة وتنتهي الملفات في مجلد uploads
.
هل لديكم أي تلميحات حول أين يمكنني مواصلة البحث عن المشكلة؟ أم سمعتم من قبل عن مرفقات بريد إلكتروني مهجورة مثل هذه؟ ![]()