لقد قمت بتثبيت مستقبِل البريد الإلكتروني لـ Discourse للسماح بالردود عبر البريد الإلكتروني على موقعي المستضاف ذاتيًا. أتلقى تحذير الإهمال التالي في السجلات.
إشعار الإهمال: تحذير: تم إهمال المعلمة email. يجب إرسال جميع طلبات POST إلى هذا المسار باستخدام المعلمة email_encoded المشفرة بـ base64 بدلاً من ذلك. تم استلام البريد الإلكتروني وهو في قائمة الانتظار للمعالجة (سيتم إزالته في Discourse 3.3.0)
في /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.2.1/lib/action_controller/metal/basic_implicit_render.rb:8:in `send_action`
أقوم بتشغيل أحدث إصدار من Discourse 3.5.0.beta3-dev، لذا فإن إصدار الإهمال خاطئ، ولكنه لا يزال يبدو مخيفًا أنه قد يتعطل في أي لحظة.
الأعراض
تنتج كل رسالة بريد إلكتروني واردة عبر mail-receiver هذا في السجلات:
إشعار الإهمال: تحذير: معلمة email مهجورة. يجب إرسال جميع طلبات POST إلى هذا المسار باستخدام معلمة email_encoded مشفرة بتشفير base64 صارم بدلاً من ذلك. تم استلام email ووضعها في قائمة الانتظار لمعالجتها (سيتم الإزالة في Discourse 3.3.0)
في /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.5.1/lib/action_controller/metal/basic_implicit_render.rb:8:in `ActionController::BasicImplicitRender#send_action`
ما تأكدتُ منه على خوادي
base_image: discourse/mail-receiver:release في /var/discourse/containers/mail-receiver.yml — لذا فأنا أعمل على خط release، وليس على إصدار قديم مثبت.
يظهر docker ps أن local_discourse/mail-receiver يعمل جنبًا إلى جنب مع حاوية التطبيق القياسية.
docker image inspect local_discourse/mail-receiver --format '{{.Created}}' → 2026-08-08T08:41:54Z — أعيد بناؤه حديثًا باستخدام ./launcher rebuild mail-receiver قبل أيام قليلة فقط.
يستمر إشعار الإهمال بعد إعادة البناء الطازج على release.
الخلاصة
يأتي التحذير من آخر إصدار حالي من mail-receiver نفسه، الذي لا يزال يرسل البريد الإلكتروني الخام تحت معلمة email المهجورة بدلاً من معلمة email_encoded المشفرة بتشفير base64 صارم التي يتوقعها نقطة النهاية الآن.据我所知، لا يوجد أي شيء في صورة release قيد التشغيل يحل هذه المشكلة حتى الآن.
إنه مجرد إشعار إهمال (وليس خطأ) ولا يزال البريد الإلكتروني في قائمة الانتظار ويتم معالجته بشكل طبيعي، لذا فهو لا يكسر موقعي — لكنني أود أن أرى تحديث كود mail-receiver حتى يختفي هذا التحذير. السطر المسؤول موجود في discourse_mail_receiver.rb، الذي ينشر معلمة email بدلاً من email_encoded.
هل هناك أي جدول زمني لإصلاح هذا في صورة mail-receiver release؟
كان مستلم البريد لا يزال ينشر الرسالة الخام باستخدام المعلمة email التي تم إهمالها. يغير طلب السحب (PR) ذلك لإرسال الرسالة باستخدام email_encoded: Base64.strict_encode64(...) بدلاً من ذلك، كما طلبت نقطة نهاية Discourse /admin/email/handle_mail.
كما أضفت اختبار انحدار يتحقق من إرسال email_encoded وعدم استخدام المعلمة email المهجورة بعد الآن.
تتجاوز مجموعة اختبارات مستلم البريد وفحوصات التنسيق/التدقيق محلياً.