تم رفض وصول المييل-مستلم relais

أنا أحاول جاهداً تمكين الردود عبر البريد الإلكتروني باستخدام حاوية mail-receiver. أحصل باستمرار على أخطاء:

NOQUEUE: reject: RCPT from ... 454 4.7.1 <...>: تم رفض الوصول إلى المرحّل

ما السبب في ذلك؟ كيف يمكنني الدخول إلى حاوية mail-receiver وفحص إعدادات Postfix وتصحيحها؟ لقد قمت بتعطيل خادم Postfix على النظام الذي يعمل عليه هذا التطبيق بسبب تضارب المنفذ 25. هل هذا خطأ؟

أنا متأكد تماماً من أن سجلات MX الخاصة بـ DNS صحيحة، وتحدث هذه المشكلة من أي خادم يرسل بريداً واردًا. أنا أستخدم Amazon SES للبريد الصادر داخل حاوية التطبيق، وهذا يعمل بشكل جيد.

أنا جديد على Discourse ولا أعرف كيفية تصحيح أخطاء هذا النظام البيئي. أنا خبير في Postfix، لكنني لا أعرف كيفية إعداده في هذا العالم القائم على الحاويات.

أولاً، إذا كان لديك بالفعل مثيل postfix قيد التشغيل، فلا تحتاج حقًا إلى حاوية استلام البريد.

يمكنك تكوين postfix كمرسل للبريد الإلكتروني للردود وتكوين discourse لاستجواب ذلك البريد الإلكتروني.

ستوفر لك هذه الدليل من عام 2014 فكرة كافية للبدء، وأفترض أنك تستطيع التعامل مع postfix بنفسك.

لا أتفق مع هذا على الإطلاق، فميزة مستلم البريد هي أن رسائل البريد الإلكتروني تُدفع عبر واجهة برمجة التطبيقات بدلاً من الاستقصاء. هناك فرق كبير في الوقت المستغرق لوصول البريد الإلكتروني إلى Discourse باستخدام مستلم البريد (دقائق مقابل ثوانٍ).

كما أن هناك فرقًا كبيرًا في بساطة التكوين، حيث يتطلب مستلم البريد تحديث ثلاثة أسطر فقط في ملف yml، بينما يتطلب postfix OOBE… أكثر.

يشير هذا الخطأ إلى أن نطاقات البريد الإلكتروني غير متطابقة.

وبما أنك تقوم بإخفاء أجزاء من الرسالة، فلا يمكننا بسهولة استكشاف المشكلة وحلها نيابةً عنك.

إذا كنت تتلقى أي بريد إلكتروني كما تتوقع، فهذا يعني أن شخصًا ما يحاول استخدام خادم البريد الخاص بك لتسليم البريد إلى نطاق آخر. على سبيل المثال، إذا قام شخص ما بتوجيه سجل MX الخاص به إلى عنوان IP الخاص بك. أو، ولم أسمع بهذا من قبل :wink: ، كان شخص ما يحاول خبيثًا استخدام خادم بريدك لتسليم بريد غير مرغوب فيه.

هل كل هذه الأخطاء من نفس عنوان IP؟ هل يمكنك رؤية السجلات لمعرفة النطاق الذي تُوجَّه إليه الرسائل الخاطئة؟

أسهل شيء يمكن فعله هو تجاهل الأمر.

واجهت هذه المشكلة في mail-receiver كان يعمل سابقًا وقمت بإجراء بعض التعديلات عليه. اعتقدت أنني سأعيد بناء الحاوية، ولكن من الواضح أن شيئًا ما لم يسر على ما يرام، حيث تلقيت أخطاءً متعددة بـ ‘Relay access denied’ لجميع المستلمين. كانت إعدادات DNS صحيحة.

في النهاية، حلّت الأمر عملية git pull القديمة الموثوقة متبوعة بـ launcher rebuild mail-receiver. أنشر هذا فقط في حال نجح الأمر مع أي شخص آخر.

لدي نفس الخطأ مع تقارير mail-receiver: تم رفض الوصول إلى الترحيل (ردًا على أمر RCPT TO).\n\nاستلام البريد لا يعمل للتثبيت الجديد ولكني تمكنت من جعل هذا يعمل من قبل. أعتقد أن جميع الإعدادات صحيحة ولكن ربما فاتني شيء ما.

يعني هذا عادةً أن البريد يتم تسليمه إلى نطاق غير النطاق الذي تم تكوين المستلم لقبوله.

لقد قمت بتعيينه لنفس النطاق الفرعي مثل موقع discourse.

بالنسبة لقيمة سجل MX، هل هي “subdomain.domain” والسجل هو “subdomain” أو “@”؟

هل يعرف أحد ما الذي يسبب خطأ “Relay access denied”؟

يحدث هذا عندما لا يتطابق نطاق المستلم مع النطاق الذي تم تكوينه في mail-receiver.yml.

هل هذا هو العنوان الذي ترسل إليه البريد؟

نفس العنوان، يعمل الآن بعد إعادة بناء مستقبل البريد.
أعتقد أنني قمت بإعادة بنائه من قبل ولكنه لم يكن يعمل، من الجيد أنه يعمل الآن.

هل أحتاج إلى السماح بمنفذ 25 إضافيًا لكي يعمل mail-receiver بشكل صحيح.

في هذه الحالة، العمل بشكل صحيح يعني ظهور رسائل البريد الإلكتروني الواردة في .\launcher logs mail-receiver والوصول إلى واجهة مسؤول Discourse.

نعم، يجب عليك فتح المنفذ 25. يمكن إضافة ذلك إلى هذا الدليل كقاعدة اختيارية.

حسنًا، ليس لدي 25 مفتوحة. لذا، لا.

لكن ufw status ليس مثيرًا للاهتمام. بدلاً من ذلك، nft list ruleset هو كذلك.

تحديث: تم تطبيق ufw deny 25 و يعمل mail-reciver بشكل جيد (07/02/2025)

يمكنني تأكيد أن هذا صحيح، على الرغم من أنني ارتكبت خطأً آخر. يتعلق هذا بمنتدىي الثاني لتطبيق mail-receiver، وفي المنتدى الأول، كان سجل MX الخاص بالنطاق الذي يستقبل رسائل البريد الإلكتروني Value هو DISCOURSE_BASE_URL.

الآن تصل رسائل البريد الإلكتروني إلى واجهة المستخدم الخاصة بمنتدىي (الثاني)، بدلاً من المنتدى الأول فقط :tada:

ملاحظة: قد يكون هذا الاعتقاد بالصحة ناتجًا عن عدم تشغيل ./launcher rebuild mail-receiver بعد تغيير ملف yml (06/02/2015)

أتخيل أنك لا تحتاج إلى السماح بالمنفذ 25، على سبيل المثال، في جدار حماية لوحة تحكم Azure أو VPS - لذلك قبل Ubuntu

لأن قيمة سجل MX يجب أن تشير إلى موقع الويب، وليس إلى نطاق البريد، هذا مثير للاهتمام

الدليل الرسمي يذكر أن المنفذ 25 يجب أن يكون مفتوحًا:

لقد واجهت مشكلة في مستقبل البريد بنفسي لأنني نسيت فتح المنفذ 25 في جدار الحماية الخاص بي. أدى إضافة القاعدة إلى حل المشكلة.

قد يكون الحل الأفضل هو السماح بعنوان IP ذي الصلة فقط؟

دعنا لا نخبر بذلك لمستقبل بريدي :wink:

يتم الإرسال باستخدام Amazon SES. الوارد يأتي عبر mx إلى نطاق المنتدى والآن يدخل Docker.

السبب في ذلك هو Docker وطريقته الداخلية للعمل. إنه لا يهتم بـ ufw. إذا كنت تريد شرحًا مفصلاً ودقيقًا، انتظر ثانية - سألت مرة لماذا لا يهتم Discourse بجدار الحماية الخاص بي، وكان السبب هو حركة مرور الحزم. لكن فهم ما يحدث بعمق ليس من اختصاصي. يكفيني أن الأمور تعمل. وثق بي: ufw مفتوح فقط للمنافذ 22 و 80 و 443.

أعتقد أنك اقتبست موقفًا حيث يعتني مستقبل البريد بإرسال رسائل البريد الإلكتروني أيضًا باستخدام postfix.