الحصول على البريد الوارد للعمل عند إعادة توجيه المنفذ من جهاز توجيه

لقد قمت بنقل بيئة اختبار تعمل من DigitalOcean إلى صندوق Linux منزلي (Ubuntu) ولكني أواجه صعوبة في جعل البريد الوارد يعمل. أقوم بإعادة توجيه المنفذ 25 على جهاز التوجيه الخاص بي ويمكنني رؤية البريد يصل عن طريق النظر إلى سجلات البريد (يمكنني رؤية إلى: ومن: في السجلات). يبدو أن الفشل يحدث عندما يحاول مستقبل البريد إرسال البريد الإلكتروني إلى discourse وأحصل على مهلة. أشك في أن هذا بسبب أن مزود خدمة الإنترنت الخاص بي لا يسمح بالاتصال الداخلي عبر جهاز التوجيه، لذلك إذا تم استخدام اسم النطاق العام لمثيل discourse في أمر POST، فسيتم تعليقه حيث لا يوجد رد ببساطة لأن جهاز التوجيه يسقط الحزم.

هذا يعني أيضًا أنني لم أتمكن من عرض موقع discourse على الجهاز الذي يعمل عليه… حتى أدركت أنه يمكنني وضع سطر في ملف /etc/hosts يشير إلى اسم النطاق العام بعنوان IP للشبكة الداخلية ومنذ ذلك الحين يمكنني عرض مثيل discourse في Firefox.

أفترض أنه قد يكون هناك بعض الحيل التي يمكنني القيام بها حتى يعرف حاوية مستقبل البريد القيام بشيء مشابه. من قراءاتي، لا يستخدم ملف /etc/hosts وقد يكون هذا هو مصدر المشكلة. لقد حاولت إضافة أسطر إلى ملف mail-receiver.yml للسماح بـ extra_hosts: ولكن لا يبدو أنني تمكنت من تسجيله. إذا دخلت إلى تطبيق mail-receiver وحاولت إضافة سطر آخر إلى /etc/hosts (باستخدام cat >>) على الرغم من أنني أرى السطر يظهر، فإن نفس المشكلة لا تزال قائمة.

هذا هو السطر من السجلات حيث يظهر فشل POST (ملاحظة: تم اختراع النطاق لهذا المثال):

<23>Feb 23 01:00:31 receive-mail[133]: Recipient: abc@example-discourse.org.uk<19>Feb 23 01:01:31 receive-mail[133]: Failed to POST the e-mail to https://example-discourse.org.uk/admin/email/handle_mail: execution expired (Net::OpenTimeout)<19>Feb 23 01:01:31 receive-mail[133]: /usr/lib/ruby/2.7.0/net/http.rb:960:in `initialize’

أي أفكار؟

بعد المحاولة مرة أخرى وإدراك أنني وضعت عنوان IP/اسم المضيف في الاتجاه الخاطئ في ملف /etc/hosts، أعتقد أنني نجحت. ومع ذلك، إذا تمت إعادة تشغيل حاوية mail-receiver، فإنها تفقد السطر الإضافي الذي أضفته إلى ملف /etc/hosts الخاص بالحاوية. هل هناك طريقة لجعل ملف mail-receiver.yml يضيف السطر الإضافي تلقائيًا؟

يمكنك إلقاء نظرة على بعض القوالب الأخرى التي تعدل الملفات. قوالب الويب تفعل ذلك، على سبيل المثال.