Discourse/mail-receiver: يبدو أن صورة Docker للإصدار قديمة

تحديث: قمت باختبار فرع main الحالي

قمت ببناء فرع main الحالي محليًا واكتشفت مشكلة أخرى.

لا يزال صورة release القديمة على Docker Hub تشغّل كود الرفض السريع القديم وتفشل أثناء RCPT مع ظهور الرسالة التالية:

450 4.7.1 Recipient address rejected: Internal error, API request failed

ومع ذلك، فقد أزال فرع main الحالي بالفعل تنفيذ smtp_should_reject / الرفض السريع. بعد بناء main، يفشل Postfix بدلاً من ذلك مع:

warning: connect to private/policy: No such file or directory
451 4.3.5 Recipient address rejected: Server configuration problem

تتبعتُ السبب إلى مرجعين متبقين في Dockerfile:

check_policy_service unix:private/policy

تمت إزالة خدمة السياسة (policy service) نفسها، لكن smtpd_recipient_restrictions لا يزال يشير إلى مقبسها (socket).

أزلت unix:private/policy من smtpd_recipient_restrictions، وأعدت بناء الصورة، ثم تم قبول البريد الوارد عبر SMTP بنجاح.

بعد الانتقال إلى مفتاح API عام (Global API Key)، نجح التسليم إلى Discourse أيضًا:

dsn=2.0.0, status=sent (delivered via discourse service)

يبدو إذن أن هناك مشكلتين منفصلتين:

  1. صورة discourse/mail-receiver:release المنشورة قديمة ولا تزال تحتوي على تنفيذ الرفض السريع القديم.
  2. أزال فرع main الحالي ذلك التنفيذ، لكن Dockerfile لا يزال يهيئ Postfix لاستخدام unix:private/policy.

قد تكون هناك مشكلة منفصلة أيضًا تتعلق بمفاتيح API الدقيقة (granular API keys): فقد أعاد مفتاح مُقيّد على receive emails فقط استجابة HTTP 404 من /admin/email/handle_mail، بينما أعاد مفتاح API العام استجابة HTTP 200.

يمكنني تقديم طلب دمج (PR) للمراجعين القداميين لـ private/policy في Dockerfile إذا كان ذلك مفيدًا.

إعجابَين (2)