لقد قمت بنقل بيئة اختبار تعمل من 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’
أي أفكار؟