يبدو أن تحديث مستقبلي البريد المضيف ذاتيًا (self-hosted mail-receiver) الأخير، المشار إليه في https://meta.discourse.org/t/self-hosted-mail-receiver-update-following-lets-encrypt-root-certificate-change/204924/1، لم يعد يحل عناوين IP إلى أسماء نطاقات. وهذا يتسبب في مشاكل مع قيود وصول عميل Postfix التي كانت تعمل سابقًا، والتي تم تفعيلها بإضافة السطر التالي إلى ملف mail-receiver.yml:
POSTCONF_smtpd_client_restrictions: 'regexp:/etc/postfix/shared/client_access_regex'
إليك مقتطفًا من سجل مستقبلي البريد يظهر اتصالًا واردًا:
Oct 01 17:38:11 discourse-mail-receiver postfix/master[1]: reload -- version 3.5.6, configuration /etc/postfix
Oct 01 17:41:58 discourse-mail-receiver postfix/smtpd[151]: connect from unknown[167.71.160.115]
Oct 01 17:41:59 discourse-mail-receiver postfix/smtpd[151]: disconnect from unknown[167.71.160.115] ehlo=2 starttls=1 mail=1 quit=1 commands=5
ما كان يُحل سابقًا إلى اسم النطاق الخاص بالعميل المصدر www11-do.checktls.com[167.71.160.115] أصبح الآن غير محلول ومُسمى unknown[167.71.160.115].
هذا يتسبب في تعارض مع مدخلات التعابير النمطية (regex) في ملف client_access_regex، المصمم لرفض جميع النطاقات التي لا تحتوي على سجل PTR صالح (وهي في الأساس جميع خوادم إعادة توجيه البريد العشوائي) وكذلك جميع النطاقات من نطاقات عناوين IP الديناميكية (معظمها خوادم افتراضية، وجميعها تقريبًا خوادم إعادة توجيه البريد العشوائي).
وبما أنه لا يتم حل أي عنوان IP إلى اسم نطاق، فإن جميع القواعد لم تعد تعمل، والأسوأ من ذلك، أن سطر /unknown/ REJECT يقوم الآن بحظر جميع رسائل البريد الوارد. لقد اضطررت إلى تعطيل القاعدة مؤقتًا لتمكين الاتصالات الواردة على الإطلاق، كما أصبحت جميع القواعد الأخرى غير فعالة بسبب مشكلة التحليل، مما يعرض الخادم للبريد العشوائي مرة أخرى (كان منتداي يغرق في البريد العشوائي قبل تطبيق هذه القواعد، وبعد تطبيقها لم أتذكر تلقي أي رسالة).
لا يمكنني العودة إلى الإصدار القديم كحل مؤقت (بسبب مشاكل letsencrypt)، والإصدار الجديد يفتح أبواب الفيض من البريد العشوائي مرة أخرى، لذا سأكون ممتنًا جدًا لأي إصلاح (حاولت معرفة كيفية تمكين تحليل DNS يدويًا داخل صورة Docker، لكن دون جدوى).
إليك ملف client_access_regex للرجوع إليه، في حال كان لدى شخص ما نفس مشاكل البريد العشوائي المتكررة ويرغب في تجربته (استخدم Customize direct-delivery Postfix configuration لتكوين /etc/postfix/shared وملف mail-receiver.yml):
# regex dns: ([a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}
# regex ip: ((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
#
# dyn-ip-dns:
/((\.|-|x)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){2}((\.|-)[a-zA-Z0-9]+)+\.[a-zA-Z]{2,}/ REJECT
/unknown/ REJECT
/sample-spam\.domain\.com/ REJECT