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

I have a forum on discourse but with slow sending speed limit (20/sec)
Am I able to set sending speed limit on discourse?

I’m asking this because I found that I got nearly 500,000 records everyday on unsubscribe_keys table, but only 9000 in mail_log and 1000 in skipped_mail_log, our forum have nearly 500,000 members, too.
I’m not sure whether it’s caused by sending email too fast and make some weird problem happened, so I’m trying to throttle the sending speed but with no luck.

Unsubscribe_keys

email_log

إعجابَين (2)

You need to get a faster mail server and/or change settings so that let mail gets sent.

You can change how often summary emails get sent and change the max emails per day setting.

There is no rate limit setting.

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

not sure whether sending rate is necessary…
because even we can increase to probably 60/sec,it’s still possible that the server send too fast and get blocked.

إعجابَين (2)

What are you using to send email?

I use AWS SES service

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

Have you raised with their support?

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

Why are so many Discourse members being mailed? What are they being mailed for, exactly? That’s the more relevant question.

On a typical Discourse install, the only “all users” email is the digest, and even that is specific to only users who have not been on the website in a week or more, but also haven’t been gone more than a year.

In general you only get emails when someone is speaking directly to you, and even then only when you haven’t touched the website with any web browser in the last 10 minutes.

8 إعجابات

We had an activity before. (about several months ago) That activity attracted about 90 thousand members registered. And now they may leave for a few weeks. So system sent them the digest emails

إعجابَين (2)

Did you ever find a solution? I’m about to switch to Amazon SES and just realized that our initial limit is 14 emails per second. I’m not sure how quickly Discourse is going to send them into SES. The site sends a lot of email.

Does anyone know the maximum rate that Discourse sends emails? Will it try to send more than 14 per second?

If it sends too quickly, I’m wondering if it might be a good idea to write a script that evenly spaces the digest sending times for all the users across the week instead of sending the bulk of them on one day (our import anniversary).

Edit: I realized that I could figure out if this is a problem by checking the Mandrill logs. Unless I’m looking at some extra throttling from Mandrill, I think we have a maximum of about 8 emails per second, so it should be fine.

إعجابَين (2)

مرحبًا جوش!

بالنسبة للملخصات، يمكنك الحد من هذا المعدل إلى 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 ملخص في الشهر تقريبًا.

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

3 إعجابات