هذا صحيح. لقد تحققت للتو من ذلك على موقع Discourse المستضاف لدي، وهو يعمل دون أي مشاكل. إذا كان موقعك يعمل على أحدث إصدار من Discourse، فإنني أتساءل عما إذا كانت المشكلة مرتبطة بكيفية تعامل خادم البريد الخاص بك مع إعادة توجيه رسالة الارتداد.
شكرًا لك. بالنسبة للبريد الصادر، أستخدم Mailgun. أعتقد أنني استخدمت الإعدادات الموصى بها من قبل Discourse.
أما بالنسبة للبريد الوارد، فأستخدم هذا الرابط: Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver لكنني لم أقوم بتحديثه منذ التثبيت — هل قد يكون هذا هو المشكلة؟ وبما أن الأمر المستخدم في Discourse هو ./launcher rebuild app، فهل الأمر المقابل لاستقبال البريد هو ./launcher rebuild mail-receiver؟
نفس المشكلة هنا. استضافة ذاتية، محدثة. يتم التعامل مع الارتدادات بالطريقة الموصى بها. الروابط من قبل أن ننتقل إلى معالجة الارتدادات الصحيحة تعمل بشكل جيد.
نعم، من المرجح أن Discourse لا يتلقى الرسالة من Mailgun. لا أعرف كيف تعمل الويب هوك، لكنني أشك في أنها تُبلغ Discourse فقط بحدوث فشل مؤقت أو دائم دون إرسال رسالة الارتداد.
هل توجد طريقة لجعل ميزة Discourse هذه تعمل مع Mailgun؟
يجب أن يكون من الممكن عرض على الأقل رمز الخطأ والرسالة:
يتم الاحتفاظ بكل من رمز خطأ SMTP ورسالة خطأ SMTP
“code”: 550,
“address”: “'baz@example.com”,
“error”: “Message was not accepted – invalid mailbox. Local mailbox 'baz@example.com is unavailable: user not found”
بعد اختباري الخاص، يبدو أنه في كثير من الحالات، لا يتلقى مستلم البريد الارتدادات على الإطلاق. (وجدت محاولة اتصال واحدة فقط، والتي فُقدت على الفور). لا أرى رأس Return-Path معينًا على الإطلاق (هل من المفترض أن يكون كذلك؟) مما يجعلني أعتقد أنها لا تُرسل في معظم الأوقات.
لا تزال هناك مشكلة هنا أيضًا. على الرغم من بياني السابق، يبدو الآن أن أياً من هذه الروابط لا تعمل، بالعودة إلى بدء تشغيل الموقع. في البداية، بدا أن هذا يؤثر فقط على الارتدادات قبل أن نبدأ في التعامل مع الارتدادات بشكل صحيح (Configure VERP to handle bouncing e-mails).
لقد لاحظت للتو أكوامًا من التحذيرات في سجل الأخطاء على هذا النحو:
لا يمكن معالجة البريد الإلكتروني: Email::Receiver::AutoGeneratedEmailError
تم الاستلام: من ...
لـ <bounce+f7e463.5f70e9-...@forum.example.com>; ...
الموضوع: لم يتم تسليم رسالتك
ربما لهذا السبب لا يحتوي Discourse على أي تفاصيل حول رسائل البريد الإلكتروني المرتدة.
لا أرى تلك الأخطاء في السجلات، لكن المشكلة مستمرة. عندما أنقر على قيمة نوع البريد الإلكتروني لإدخال في قائمة البريد المرتد، أحصل على “حدث خطأ: Discourse::NotFound”.
كان هذا موجودًا منذ فترة، ولكنه بدأ للتو في التسبب في مشاكل حيث أهدف إلى التحقيق في سبب حصولي على الكثير من الارتدادات في الوقت الحالي.
تبدو المشكلة في عدم وجود رابط في عمود نوع البريد الإلكتروني وعدم وجود شيء خلف أيقونة (الأسهم الحمراء):
هذا هو السلوك المتوقع عندما لم تتم معالجة الرد المرتد بواسطة Discourse. الميزة تعمل بشكل جيد إذا استلمت Discourse الردود المرتدة، وإلا ستظهر هذا الرد لجميع الردود المرتدة.
في أي ظرف سيتعامل Discourse مع الارتدادات بدلاً من خدمة البريد الإلكتروني الخارجية؟ (أعلم أن Discourse يمكنه ارتداد/رفض رسائل البريد الإلكتروني، ولكني أعني التعامل مع رسائل الارتداد المستلمة من المستلمين المقصودين للبريد الإلكتروني.)