مشكلة بريد إلكتروني خطيرة منذ آخر تحديث قبل يومين - 3.4.0.beta4-dev

يبدو أنه منذ آخر تحديث لـ discourse قبل بضعة أيام، لم تعد رسائل البريد الإلكتروني للرد تعمل، ولم يتم استلامها وبالتالي لم يتم تحديث الموضوع، كما أن رسائل البريد الإلكتروني المرسلة للفئات التي تمت مراقبتها تتصرف بشكل خاطئ أيضًا، حيث ترسل 5 فقط من أصل 65.

هل واجه أي شخص آخر مشاكل حديثة مع البريد الإلكتروني؟

إعجابَين (2)

نعم، لدي نفس المشاكل مع 3.4.0.beta4-dev للأسف. لقد جربت كل شيء بدءًا من إعادة تقييم ملف app.yml؛ والتحقق من إعدادات DNS للبريد. ومن المفارقات، من الطرفية تمكنت من الإرسال عبر smtp في حاوية Docker الخاصة بـ Discourse باستخدام wasm. أعتقد أن هذا قد يكون ناتجًا عن خطأ في التكوين في مكان ما. هذه مشكلة كبيرة لجميع المستخدمين المسجلين الذين لا يمكنهم تلقي رسائل البريد الإلكتروني للمنشورات والنشرات الإخبارية وإعادة تعيين كلمة المرور. رسالة الخطأ 550 مستمرة منذ التحديث الجديد. الآن أدعو الله أن يؤدي التراجع إلى الإصدار v3.4.0.beta2 إلى حل هذه المشكلة.

إعجاب واحد (1)

يسرني أنه ليس أنا فقط، آمل أن يقوم أحد المطورين بإصلاح هذه المشكلة في أسرع وقت ممكن. ليس لدي أي فكرة عن كيفية التراجع.

مثبت
3.4.0.beta4-dev
58f75ed205

كان هناك أيضًا تحديث لقاعدة بيانات postgres من 13 إلى 15 حدث في نفس الوقت.

لا أعرف ما إذا كان تحديث postgres قد أفسد إعدادات التكوين من واجهة المستخدم الرسومية، حيث لاحظت أن إضافة معلومات خادم POP3 للاستطلاع لم تحدث أي تغييرات في ملف تكوين discourse app.yml… غريب جدًا. التراجع صعب بعض الشيء لأنه يتطلب منك الدخول إلى علامات git وإعادة بناء التطبيق بالكامل من الإصدارات. يمكن أن يساعد استخدام chatGPT في هذا لاستكشاف الأخطاء وإصلاحها.

هل تمكنت من جعله يعمل عن طريق التراجع إلى إصدار سابق؟

آمل أن يعمل فريق التطوير على هذا قريبًا جدًا وينشئ إصلاحًا مستقبليًا.

لقد حاولت git checkout v3.4.0.beta2 في دوكر وفشلت عدة مرات في التراجع على الرغم من تحديد ملف app.yml. لذلك، سأرى ما إذا كان هناك شخص اتصال في Discourse لإصلاح خطأ 550 هذا لـ beta5 قريبًا.

أين ترى هذا الخطأ؟ لدي مشاكل كبيرة مع البريد الإلكتروني، ولكن لست متأكدًا من أين أرى الخطأ 550، شكرًا لك.

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

أرى هذا في /logs:

image

يرجى عدم @الإشارة إلى أعضاء الفريق.

إذا كنت عميلاً مدفوعًا لـ Discourse، يمكنك الحصول على دعم ذي أولوية عن طريق الاتصال بـ team@discourse.org، وإلا فسيكون الدعم حسب الجهد المبذول.

عند الإبلاغ، يرجى تحديد مزود البريد الذي تستخدمه، ربما حدث تراجع في مزود بريد شائع الاستخدام لـ Discourse. لا أعرف.

3 إعجابات

أنا آسف جدًا، لم أكن أدرك ذلك، ولن أفعل ذلك مرة أخرى. شكرًا لك على لفت انتباهي إلى هذا الأمر بشأن الإشارات.

أنا أستخدم بريفو، لكن لا أعتقد أن الأمر يتعلق ببريفو بناءً على ما أراه من أن بعض رسائل البريد الإلكتروني يتم إرسالها.\n\nتأتي الردود عبر Gmail ولكن هذا كان يعمل دائمًا.\n\nربما يمكن للمستجيب الآخر إخبارنا بما يستخدمه. لديه نفس المشكلة.

إنه موجود ضمن سجلات الخادم والتقارير. يمكن إرسال بريد إلكتروني تجريبي وسيعود خطأ بريد 550 في علامة التبويب “تم التخطي”. لم أسمع شيئًا من أي مطور. أعتقد أيضًا مع تحديث PostGres 15 قد لا يتم نقل الإعدادات إلى قاعدة البيانات للتنفيذ إذا كان app.yml يتطلب الاتصال.

يمكنني إرسال بريد إلكتروني تجريبي بنجاح، دون أي خطأ. يخرج هذا البريد الإلكتروني التجريبي عبر Brevo.

المشكلة بالنسبة لي هي أن رسائل البريد الإلكتروني للفئة المراقبة لا تصل إلا إلى عدد قليل من المستخدمين. لا تظهر رسائل البريد الإلكتروني المفقودة على أنها تم تخطيها. الغالبية العظمى من المستخدمين لا يتم إرسال رسائل البريد الإلكتروني إليهم ببساطة.

المشكلة الثانية هي أن رسائل البريد الإلكتروني للرد لا تصل أبدًا إلى النظام.

بدأت هذه المشكلات فقط بعد الترقية الأخيرة.

أنا على Ubuntu 22.04، والذي شهد أيضًا ترقية للحاويات مؤخرًا، لكنني لم ألاحظ مشكلة البريد الإلكتروني إلا بعد تحديث Discourse، والذي قام بالطبع بترقية Postgres أيضًا.

ما هو نظام التشغيل الذي تستخدمه يا فيل؟

يظهر هذا كثيرًا في سجل الإنتاج:

Email can not be processed: Email::Receiver::EmptyEmailError

tail -1000 production.log-20250202 | grep ‘Email::Receiver::EmptyEmailError’ | wc -l
291

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

عند النقر على الخطأ، هل ترى المزيد من التفاصيل؟ قد يكون مجرد بريد إلكتروني واحد بتنسيق غريب / سيء، ونحن نعيد جدولة المهمة التي من المفترض أن تعالجه.

إعجاب واحد (1)

لاحظت أنني نشرت للتو في موضوع كان من المفترض أن ينشئ 65 بريدًا إلكترونيًا، ولكنه أنشأ 5 فقط في البريد المرسل، ولم يتم تخطي أي شيء، وما إلى ذلك. لا يوجد خطأ ولا تحذير.

هناك خطأ واحد في /logs من الأمس، وتحذير، ولا أعرف ما إذا كانت مرتبطة بمشاكل البريد الإلكتروني الخاصة بي:

رسالة (تم الإبلاغ عن 552 نسخة)

خطأ في المهمة: Net::ReadTimeout

تتبع الأخطاء

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:229:in `rbuf_fill'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:199:in `readuntil'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:377:in `each_message_chunk'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:958:in `block in retr'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:1016:in `critical'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:956:in `retr'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:810:in `pop'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:47:in `block (2 levels) in poll_pop3'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:669:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:669:in `each_mail'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:46:in `block in poll_pop3'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:531:in `start'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:45:in `poll_pop3'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:14:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/6.1.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/6.1.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'
/var/www/discourse/app/jobs/base.rb:299:in `each'
/var/www/discourse/app/jobs/base.rb:299:in `perform'
/var/www/discourse/app/jobs/base.rb:379:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:137:in `process_queue'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:77:in `worker_loop'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:63:in `block (2 levels) in ensure_worker_threads'


رسالة (تم الإبلاغ عن 694 نسخة)

لا يمكن معالجة البريد الإلكتروني: Email::Receiver::EmptyEmailError


تتبع الأخطاء

/var/www/discourse/vendor/bundle/ruby/7.2.2.1/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `block in warn'
/var/www/discourse/vendor/bundle/ruby/7.2.2.1/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/7.2.2.1/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `each'
/var/www/discourse/vendor/bundle/ruby/7.2.2.1/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/7.2.2.1/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `warn'
/var/www/discourse/lib/email/processor.rb:183:in `log_email_process_failure'
/var/www/discourse/lib/email/processor.rb:29:in `rescue in process!'
/var/www/discourse/lib/email/processor.rb:16:in `process!'
/var/www/discourse/lib/email/processor.rb:13:in `process!'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:29:in `process_popmail'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:49:in `block (2 levels) in poll_pop3'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:669:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:669:in `each_mail'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:46:in `block in poll_pop3'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:531:in `start'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:45:in `poll_pop3'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:14:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/6.1.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/6.1.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'
/var/www/discourse/app/jobs/base.rb:299:in `each'
/var/www/discourse/app/jobs/base.rb:299:in `perform'
/var/www/discourse/app/jobs/base.rb:379:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:137:in `process_queue'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:77:in `worker_loop'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:63:in `block (2 levels) in ensure_worker_threads'

كيف تعرف أنه كان من المفترض أن يخلق 65 رسالة بريد إلكتروني؟

إعجاب واحد (1)

أعرف بالضبط من لديه فئات “تمت المشاهدة” (Watched categories) مُعدة، وهذه فئة “تمت المشاهدة” (Watched category)، ولا يوجد لدى أي مستخدمين كتم للإشعارات. يجب بالتأكيد إرسال 65 بريدًا إلكترونيًا، كما كان يحدث دائمًا قبل التحديث.

سأقوم بالتحديث إلى الإصدار الجديد لاحقًا اليوم وأرى ما إذا كان سيحدث فرقًا، من الإصدار 3.4.0.beta4-dev إلى الإصدار الجديد.

سأقوم أيضًا بإعادة تشغيل الجهاز الافتراضي، وأفترض أن ذلك سيعيد تشغيل قاعدة البيانات بشكل سلس، والتي، بالمناسبة، تم تثبيتها بشكل صحيح وفقًا للتوثيق عند قيامي بالتحديث إلى الإصدار 3.4.0.beta4-dev.

بخلاف ما ذكرته بالفعل، مثل تحديثات نظام التشغيل Ubuntu22.04 لـ containerd، لا أعتقد أن ذلك سيكون مشكلة، ولكن التغيير الوحيد الآخر الذي قمت به في أواخر الأسبوع الماضي هو تثبيت إضافة CakeDay.

إعجاب واحد (1)