إرسال رسائل البريد الإلكتروني الشامل برمجيا

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

  •  03-07-2019
  •  | 
  •  

سؤال

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

أي لغة سوف تفعل إذا كان التنفيذ هو سريع بما فيه الكفاية.كمية الرسائل المرسلة سوف يكون في نهاية المطاف في الآلاف.

إذا كان شراء البرامج المرخصة يمكن تجنبها ، وذلك أفضل بكثير.

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

المحلول

وsmtplib في بيثون هو الخط بمثابة اللعبة لانشاء وAPI نظيفة للغاية.

نصائح أخرى

أرسل يصطفون في بي - نسخة قصيرة - Mail_Queue الكمثرى و. لقد تم استخدام هذه لإرسال 30-50،000 + رسائل في اليوم الواحد أو أكثر (بضعة أيام في الأسبوع) دون مشاكل لأكثر من عام.

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

ونحن نفعل ما يصل إلى 1000 رسائل البريد الإلكتروني في الدقيقة الواحدة ...

جافا ، هناك http://java.sun.com/products/javamail/ لقد استعملت في تطبيق.من السهل جدا لاقامة و الاستخدام.

في روبي أنها بسيطة للغاية ، ولكن أنا لم تستخدم لذلك لا يمكن أن أقول أي شيء عن الأداء.http://snippets.dzone.com/posts/show/2362

إلى أن قال...أشك PHP نفسها ستكون بطيئة جدا لإرسال رسائل البريد الإلكتروني.ربما لديك بعض عنق الزجاجة في التطبيق الخاص بك?

وأود فقط أن أذكر أن في وظيفتي السابقة أنشأنا حل يمايلر الشامل في PHP التي عملت كبيرة، لذلك أنا لا أرى لماذا كنت استبعد ذلك تماما:)

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

MAIL FROM:<me@example.com>
RCPT TO:<you@example.com>
DATA
From: Me <me@example.com>
To: You <you@example.com>
Subject: test email

This is the body of the test email I'm sending
.

وثم أود أن إطعام ملفات BSMTP من خلال الاستيراد والتصدير:

cat *.bsmtp | exim -bS

وهذا يزيل أساسا التأخير في إرسال رسائل البريد الإلكتروني منك البرنامج ويضع العبء على الاستيراد والتصدير (والتي كما تم تجهيز وMTA أفضل للتعامل مع ذلك).

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

MAIL FROM:<me@example.com>
RCPT TO:<you@example.com>
RCPT TO:<him@example.com>
RCPT TO:<her@example.com>
RCPT TO:<them@example.com>
DATA
From: Me <me@example.com>
To: Me <me@example.com>
Subject: test email

This is the body of the test email I'm sending
.

ويمكنك أيضا ثم الحصول على طن من مساحة كبيرة للمناورة في كيفية تحسين MTA نفسها لإرسال البريد (على سبيل المثال، سوف تعامل تلقائيا تسليم المتوازية، وتسليم البريد الإلكتروني إلى خادم البريد نفسه أسفل نفس اتصال TCP، الخ ).

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

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

وهناك أداة سطر الأوامر دوس على أساس تسمى البلاط والتي يمكن تنزيلها وإرسال رسائل البريد الإلكتروني بسهولة جدا

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