كيفية تحديد حد سرعة إرسال البريد الإلكتروني؟

لدي منتدى على ديسكورد ولكن مع حد سرعة إرسال بطيء (20/ثانية)
هل يمكنني تعيين حد سرعة الإرسال على ديسكورد؟

أسأل هذا لأنني اكتشفت أنني حصلت على ما يقرب من 500,000 سجل يوميًا في جدول unsubscribe_keys، ولكن فقط 9000 في mail_log و1000 في skipped_mail_log، كما أن لدينا في المنتدى ما يقرب من 500,000 عضو أيضًا.
لست متأكدًا مما إذا كان ذلك ناتجًا عن إرسال البريد الإلكتروني بسرعة كبيرة مما تسبب في بعض المشاكل الغريبة، لذا أحاول تقييد سرعة الإرسال ولكن دون جدوى.

Unsubscribe_keys

email_log

تحتاج إلى الحصول على خادم بريد أسرع و/أو تغيير الإعدادات لضمان إرسال رسائل البريد الإلكتروني من Let Mail.

يمكنك تغيير تكرار إرسال رسائل البريد الإلكتروني الموجزة وتعديل إعداد الحد الأقصى لعدد رسائل البريد الإلكتروني يوميًا.

لا توجد إعداد للحد من المعدل.

غير متأكد مما إذا كانت سرعة الإرسال ضرورية… لأنه حتى لو زدناها إلى حوالي 60 في الثانية، فلا يزال من الممكن أن يرسل الخادم بسرعة كبيرة ويتم حظره.

ما الذي تستخدمه لإرسال البريد الإلكتروني؟

أستخدم خدمة AWS SES

هل أبلغت فريق الدعم الخاص بهم؟

لماذا يتم إرسال رسائل بريد إلكتروني إلى عدد كبير من أعضاء Discourse؟ وما هي بالضبط أسباب هذه الرسائل؟ هذا هو السؤال الأكثر أهمية.

في تثبيت نموذجي لـ Discourse، البريد الإلكتروني الوحيد الموجه إلى “جميع المستخدمين” هو الملخص، وحتى ذلك مخصص فقط للمستخدمين الذين لم يدخلوا الموقع منذ أسبوع أو أكثر، ولكنهم أيضًا لم يغيبوا لأكثر من عام.

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

كان لدينا نشاط سابق (قبل بضعة أشهر). وقد جذب هذا النشاط حوالي 90 ألف عضو مسجّل. والآن قد يغادرون لبضعة أسابيع. لذا أرسل النظام رسائل ملخّص البريد الإلكتروني إليهم.

هل عثرتِ على حل من قبل؟ أنا على وشك التحول إلى Amazon SES وأدركت للتو أن حدنا الأولي هو 14 رسالة بريد إلكتروني في الثانية. لستُ متأكدًا من سرعة إرسال Discourse للرسائل إلى SES. الموقع يرسل كمية كبيرة من البريد الإلكتروني.

هل يعرف أحد الحد الأقصى لمعدل إرسال Discourse للرسائل؟ هل سيحاول إرسال أكثر من 14 رسالة في الثانية؟

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

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

مرحبًا جوش!

بالنسبة للملخصات، يمكنك الحد من هذا المعدل إلى 14 رسالة في الثانية عن طريق تعيين المتغير العام في Discourse إلى 420، وذلك في ملف بناء الحاوية الخاص بك على النحو التالي:

 DISCOURSE_MAX_DIGESTS_ENQUEUED_PER_30_MINS_PER_SITE: 420

هذا ليس “بالضبط” ما تريد، لكنه قريب جدًا.

بما أن 14 رسالة في الثانية (كما ذكرت في منشورك) مضروبة في 30 ثانية تساوي 420، فإن هذا الإعداد العام سيحد من الملخصات إلى حوالي 420 ملخصًا كل 30 دقيقة، تمامًا كما “يوضح” الكود:

انظر أيضًا:

بطبيعة الحال، إذا كان قناة SMTP الخاصة بك ترسل رسائل بريد إلكتروني أخرى، فستحتاج إلى تعديل هذا الرقم للأسفل؛ أو يمكنك إعداد قناة منفصلة مختلفة لرسائل البريد الإلكتروني للملخصات (كما نفعل نحن).

ملاحظة: هذا الإعداد العام مضبوط افتراضيًا على 10,000 ملخص كل 30 دقيقة؛ وهو عدد كبير جدًا من الملخصات في الساعة إذا سألنا. لذلك، قمنا بتعيينه أقل بكثير للحصول على فاتورة SendGrid “معقولة” كل شهر.

30 ملخصًا كل 30 دقيقة = 1440 ملخصًا في اليوم، أو حوالي 43,200 ملخص في الشهر (لأننا كنا نرسل عددًا كبيرًا من الملخصات قبل أن أقوم بهذا التغيير قبل بضعة أيام). الشهر المقبل، سأرفع هذا الرقم إلى حوالي 60 ملخصًا كل 30 دقيقة، أو حوالي 86,400 ملخص في الشهر تقريبًا.

أتمنى أن يكون هذا مفيدًا.