ما الذي قد يتسبب في عدم إرسال بعض المشاركات في وضع القائمة البريدية

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

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

لقد حاولت النشر في الموضوع عدة مرات، وكذلك فعل شخص آخر على الأقل.

لا أرى أي إعدادات للموقع أو المستخدم يمكن أن تسبب هذا، ما الذي لا أراه؟

هذه هي المشاركات:

  id   | user_id |          timezone
--------+---------+----------------------------
 119197 |     586 | 2023-04-03 11:05:41
 119198 |       2 | 2023-04-03 11:12:03.207053
 119215 |       2 | 2023-04-03 15:42:45.195223
 119216 |       2 | 2023-04-03 16:18:22.664227
 119218 |     508 | 2023-04-03 16:55:42.167977
 119219 |       2 | 2023-04-03 16:56:00.140777
 119222 |       2 | 2023-04-03 18:11:33.953314
(7 rows)

هذه هي رسائل البريد الإلكتروني المرسلة إلى المستخدم 703 (من جدول email_logs):

 id  | post_id |  email_type  |          timezone          |      smtp_transaction_response
-----+---------+--------------+----------------------------+--------------------------------------
 242 |  119197 | mailing_list | 2023-04-03 11:18:55.832126 | 250 2.0.0 Ok: queued as C95C443350B8
 243 |  119198 | mailing_list | 2023-04-03 11:22:04.731579 | 250 2.0.0 Ok: queued as B0E2943350B8
(2 rows)

هذه هي جميع رسائل البريد الإلكتروني المرسلة لتلك المشاركات:

 id  | post_id |  email_type  | user_id |          timezone          |      smtp_transaction_response
-----+---------+--------------+---------+----------------------------+--------------------------------------
 242 |  119197 | mailing_list |     703 | 2023-04-03 11:18:55.832126 | 250 2.0.0 Ok: queued as C95C443350B8
 243 |  119198 | mailing_list |     703 | 2023-04-03 11:22:04.731579 | 250 2.0.0 Ok: queued as B0E2943350B8
 276 |  119215 | mailing_list |       5 | 2023-04-03 15:52:47.834189 | 250 2.0.0 Ok: queued as B51B443350B8
 277 |  119216 | mailing_list |       5 | 2023-04-03 16:28:29.651872 | 250 2.0.0 Ok: queued as 8760743350B8
 281 |  119218 | mailing_list |       5 | 2023-04-03 17:05:43.582886 | 250 2.0.0 Ok: queued as 8209143350B8
 282 |  119219 | mailing_list |       5 | 2023-04-03 17:06:02.231359 | 250 2.0.0 Ok: queued as 201A243350B8
 287 |  119222 | user_replied |     508 | 2023-04-03 18:21:38.024441 | 250 2.0.0 Ok: queued as EDE47434362C
 288 |  119222 | mailing_list |       5 | 2023-04-03 18:21:38.074723 | 250 2.0.0 Ok: queued as 07474434362D
(8 rows)

لم تتم إضافة معرف المستخدم 5 إلى قائمة المستخدمين المنسوخين إلا بعد أن لاحظت المشكلة في موضوع آخر.

يبدو أن هذا يحدث في ما يقرب من نصف المواضيع/المشاركات التي تم إنشاؤها اليوم. لقد بدأ هذا النظام للتو بالأمس، لكنني لم أر شيئًا كهذا أثناء الاختبار.

لقد حاولت تعيين الحد الأقصى لعدد رسائل البريد الإلكتروني لكل مستخدم في اليوم إلى 0 لتعطيله، على الرغم من أنه كان سابقًا عند 100، ولم يبدو أنه قد وصل إليه.

تحديث: لم يحل هذا المشكلة.

ألا ينبغي أن يسجل سبب عدم إرسال البريد الإلكتروني في مكان ما؟

نعم: الإعدادات → السجلات → سجلات الأخطاء

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

هل يمكن أن تكون هذه مشكلة في Sidekiq؟ لدي العديد من الرسائل حول استخدام Sidekiq للكثير من الذاكرة اليوم.

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

يبدو أن topic_user.notification_level قد تم تعيينه على 0 (كتم؟) لهذا المستخدم/الموضوع، ولا يبدو أن هناك طريقة لإعادته إلى 1 من شاشات المسؤول، على الرغم من أنه يمكن القيام بذلك ربما باستخدام rails. ولكن كيف تم تغييره؟

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

إن إزالة جميع العلامات في الموضوعين المتأثرين أو تعيين الإشعارات إلى شيء آخر غير “كتم” لا يبدو أنه قد غيّر topic_users.

لا يظهر شيء في المواضيع المكتومة في ملف تعريف هذا المستخدم.

لست متأكدًا من أنني أريد فقط تغيير جميع المواضيع بشكل جماعي، إليك عدد القيم لـ notification_level في topic_users:

 notification_level | count
--------------------+--------
                  0 |      2
                  1 |    177
                  2 |     45
                  3 | 119818

رائع، لقد وجدت أخيرًا مكان إلغاء كتم هذه المواضيع لهذا المستخدم!

كان عليّ أن ألاحظ وجود علامة “عرض” فوق مربع الكتم في العمود الأيسر من صفحة التتبع لهذا المستخدم.

ألن يكونوا قد كتموا هذا الموضوع عن قصد ولا يريدون تلقي إشعارات/رسائل بريد إلكتروني بشأنه؟

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

لكن على الأقل تعلمت الكثير عن بنية البيانات، وقرأت بعض أكواد Ruby وتعلمت بعض الأشياء عن كونك مسؤولاً. :wink:

أعتقد أنه يمكن إغلاق هذا الموضوع الآن.