أفضل طريقة لإرسال 10,000+ رسائل البريد الإلكتروني مع الكمثرى/Mail_Queue

StackOverflow https://stackoverflow.com/questions/1275397

سؤال

لدي كرون الذي يولد كل معلومات البريد و يضع في جدول قاعدة بيانات باستخدام $mail_queue->put(.....) مع خيار حذف الرسائل بعد إرسالها.

هنا حيث كنت بحاجة إلى القليل من المساعدة:ما هي أفضل طريقة لإرسال رسائل البريد الإلكتروني بعد أن أكون قد سبق المعلومات ؟ تشغيل $mail_queue->sendMailsInQueue() فورا باستخدام وظيفة كرون(s) أو أي شيء آخر ؟

الخادم الحد الأقصى هو 100 رسائل البريد الإلكتروني / دقيقة.حاليا آخر csv المهرجان على Mail_Queue لا يتم تطبيق (يعمل حاليا مع دعم على ذلك) لذا لا يمكن استخدام "تأخير" الخيار.

لدي فكرة استخدام $seconds_to_send الخيار, لكنه محسوب على قاعدة create_time الميدانية ، وهي ليست مساعدة كبيرة, لكنه أيضا خيار.

أي الأفكار والاقتراحات سيكون موضع تقدير حقا.

هل كانت مفيدة؟

المحلول

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

أما بالنسبة تأخير الشيء ، فقط خدمة/cronjob التقاط انتظار كل ستين ثانية ، البوب 100 رسائل البريد الإلكتروني وإرسالها ، ثم استقال.قد تحصل على طابور من رسائل البريد الإلكتروني لإرسالها ولكن هذا سيحدث بغض النظر عن النظام الذي تختاره.قائمة الانتظار فارغة أثناء ساعات الذروة ، على أي حال.

نصائح أخرى

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

يمكنك أيضا ترقية خطة الاستضافة الخاصة بك ؛-)

لماذا لا تحمص من خلال 100 رسالة بريد إلكتروني ونوم لمدة 60 ثانية. هذا يكلفك أي تسليم، الجانب السلبي الوحيد الذي يدير البرنامج النصي لفترة أطول قليلا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top