يبدو واضحًا أن localhost خاطئ دائمًا، لكن معظم خوادم SMTP تتجاهل هذه القيمة، لذا لم يكن الأمر مهمًا.
تظهر smtp_domain في ثلاثة أماكن فقط داخل https://github.com/discourse/discourse، وكلها تعود إلى ما بين 2-7 سنوات. كنت أتساءل عما إذا كانت مكتبة ما بدأت في إرسال localhost لسبب ما.
أعتقد أن أفضل حل، رغم مخاوف @Falco، هو إصلاح الأمر في مكان ما مثل
بغض النظر عما إذا كان الإجماع هو الاستمرار في إرسال localhost رغم أنه يتعارض مع معايير RFCs، فإن إصلاح مهمة rake كما هو موضح أعلاه ضروري. أوه، وأنا من كتب هذا الكود. لكن، انتظر. أرى أن action_mailer.smtp_settings['domain'] يمكن أن تكون فارغة. لذا أفترض أن
على الأقل مؤقتًا. أعتقد أنه يجب استخدام domain إذا كانت موجودة، واستخدام السلوك الحالي (ولكن الخاطئ؟) وهو استخدام localhost إذا لم يتم تعريف discourse_smtp_host.
أتردد في إضافة هذا إلى discourse-setup، لأن الأمر يعمل بشكل جيد تقريبًا للجميع كما هو الآن، وهو سؤال إضافي محير نسبيًا. (وأنا على وشك إضافة سؤال لـ notification_email، لذا إذا لم نتوخّ الحذر، قد يبدأ الأمر في الظهور كما أتذكر أن صياغة نواة لينكس كانت عليه قبل بضعة عقود.)
تمت الإشارة إلى هذه المشكلة للتو، ويمكنني تأكيد أن الإصلاح يعمل. كما حدث أيضًا انفجار في Sidekiq في مثيلتنا ذات الحجم المنخفض عادةً، ويبدو أن ذلك ناتج عن إعادة محاولة مهام التجزئة (digest jobs) عدة مرات.