أردت فقط أن أشارك هنا.. لدي نفس المشكلة، لكنها أكثر إزعاجًا من تجربة صاحب المنشور الأصلي. أنا أيضًا أستخدم GSuite ولدي كلمة مرور تطبيق منفصلة مُعدّة لـ Discourse. ومع ذلك، لاحظت أن مشكلتي ليست ناتجة عن عدد رسائل البريد الإلكتروني المرسلة يوميًا أو حدود معدل بروتوكول SMTP. المنتدى الذي حدثت فيه هذه المشكلة لم يكن نشطًا تقريبًا من حيث المنشورات أو رسائل البريد الإلكتروني الملخصة أو أي شيء مشابه. ما يحدث هو أنه من وقت لآخر، يفشل مصادقة SMTP.. وهذا مرتبط بخلل في جانب Google.. فكل بضعة أشهر (مرة كل 3-5 أشهر تقريبًا)، تفشل مصادقة SMTP لبضع دقائق فقط. عادةً، عندما أرى هذا في عميل البريد الإلكتروني الخاص بي، أكتفي بالانتظار لمدة 5 دقائق ثم المحاولة مرة أخرى، وعندها يعمل كل شيء بسحر. أما مع Discourse، فإن الفشل يجعل النظام غاضبًا.. فحتى مع وجود بضع رسائل في قائمة الانتظار، يبدأ في العمل بشكل مفرط، محاولًا تسجيل الدخول مرارًا وتكرارًا لكل رسالة في القائمة. النتيجة هي هجوم مصادقة SMTP سريع جدًا يُفعّل آلية حماية مختلفة ضد هجمات القوة الغاشمة داخل Gmail، وسريعًا جدًا يتوقف عن معالجة محاولات تسجيل الدخول ويعطي أخطاء. لذا، في هذه المرحلة، لا يهم حقًا ما إذا كانت كلمة المرور صحيحة أو ما إذا كانت مشكلة مصادقة Gmail قد حُلّت.. فبحلول هذا الوقت، تكون قد حُجبت لأن Discourse فقد توازنه تمامًا.
انسَ حدود المعدل، وركز بدلاً من ذلك على:
-
تحسين الكفاءة؛ إرسال عدة رسائل بريد إلكتروني عبر اتصال TCP واحد كخطوة أولى.. هذا إجراء قياسي ويقلل من عدد المنافذ النشطة والعبء على الشبكة.
-
تطبيق تأخير معقول في إعادة المحاولة التصاعدي؛ فإذا فشلت مصادقة SMTP، لا يوجد سبب وجيه للمحاولة مرة أخرى في فترة زمنية قصيرة جدًا. عند فشل مصادقة SMTP، إما تعطيل إرسال البريد الإلكتروني وإظهار تنبيه على الشاشة للمسؤول بأن مصادقة SMTP قد فشلت، أو وضع آلية تأخير جادة بحيث تكون المحاولة الثانية بعد 60 ثانية، والمحاولة الثالثة بعد 5 دقائق، والمحاولة الرابعة بعد 30 دقيقة، وهكذا.
الآن، أصبح عليّ بشكل أساسي تغيير إعدادات SMTP لتعطيل البريد الإلكتروني، ثم إعادة بناء التطبيق، ثم الانتظار 24 ساعة، ثم إعادة الإعدادات إلى وضعها السابق، ثم إعادة البناء مرة أخرى. حتى مربع اختيار بسيط في إعدادات المسؤول لتعطيل إرسال البريد الإلكتروني سيكون أفضل بنسبة 1000% من الوضع الحالي.