दिलचस्प पोस्ट
लूप सिंटैक्स के लिए जावा: "for (T obj: objects)" Java.util.Date को java.sql.Date में कनवर्ट करने के लिए कैसे? एक ही नाम के चरित्र चर के साथ किसी ऑब्जेक्ट को कॉल कैसे करें कस्टम रंगमॅप को प्रोग्राम बनाने के लिए कैसे करें? Generic.xaml के बारे में इतना खास क्या है? जीआईटी क्लोन के बाद सीधे संशोधित फाइलें JQuery के मोबाइल स्क्रिप्ट की स्थापना एंड्रॉइड: रिवर्स जीओकोडिंग – फिक्स्ड लॉकेशन जावास्क्रिप्ट के साथ महीने में दिनों की संख्या निर्धारित करने का सबसे अच्छा तरीका क्या है? यदि मेरे वर्कस्टेशन लॉक होने पर मैं प्रोग्राम को निर्धारित कर सकता हूं? एसयूडीओ का उपयोग करते समय पर्यावरण चर रखने के लिए क्या html तत्व में एकाधिक आईडी हो सकते हैं? POST JSON 415 असमर्थित मीडिया प्रकार, स्प्रिंग 3 एमवीसी के साथ विफल रहता है एडब्ल्यूटी (कैलकुलेटर होमवर्क) में एक बटन स्रोत कैसे खोजना पायथन: मैं अजैथ फ़ंक्शन को समानांतर में कैसे चला सकता हूँ?

साप्ताहिक 100,000 ईमेल कैसे भेजें?

PHP में 100,000 उपयोगकर्ता साप्ताहिक आधार पर एक ईमेल कैसे भेज सकते हैं? इसमें निम्नलिखित प्रदाताओं का उपयोग करने वाले ग्राहकों को मेल शामिल है:

  • एओएल
  • जीमेल लगीं
  • हॉटमेल
  • याहू

यह महत्वपूर्ण है कि सभी ई-मेल वास्तव में वितरित किए जाएंगे, इस हद तक कि यह संभव है। जाहिर है, सिर्फ मेल भेजना पारंपरिक रूप से कुछ भी नहीं करेगा लेकिन समस्याएं पैदा करेगा

क्या PHP के लिए कोई लाइब्रेरी है जो कि यह सरल बनाता है?

वेब के समाधान से एकत्रित समाधान "साप्ताहिक 100,000 ईमेल कैसे भेजें?"

संक्षेप में उत्तर: जब भी तकनीकी रूप से हर हफ्ते 100k ई-मेल भेजना संभव है, तो सबसे आसान, सबसे आसान और सबसे सस्ता समाधान यह उन कंपनियों में से आउटसोर्स करना है जो इसमें विशेषज्ञ हैं (मैंने कहा था "सबसे सस्ता": इसमें कोई सीमा नहीं है विकास समय (और इसलिए धन) की राशि है कि आप इस में डूब कर सकते हैं जब DIY की कोशिश कर रहे हैं)।

लंबे उत्तर: यदि आप यह तय करते हैं कि आप खुद को यह करना चाहते हैं , तो दुख की दुनिया के लिए तैयार रहें (आखिरकार, यह ई-मेल / ई-असफल है जिसके बारे में हम बात कर रहे हैं)। आपको ज़रूरत होगी:

  • ई-मेल सामग्री जो स्पैम नहीं है (अन्यथा आप हर कदम पर अतिरिक्त प्रमुख बाधाओं में भी चलेंगे, यहां तक ​​कि कानूनी नतीजे भी)
  • इसके अलावा, आपकी सामग्री को स्पैम से अलग करना आसान होना चाहिए – कुछ मामलों में ऐसा कुछ मुश्किल हो सकता है (मैंने सुना है कि एक निश्चित दवा कंपनी को सभी को ई-मेल छोड़ना पड़ा, क्योंकि उनके ब्रांड नाम स्पैम में काफी सामान्य हैं )
  • अपनी खुद की एक कॉन्फ़िगरेबल एसएमटीपी सर्वर, जो कि जब आप उस पर 100k ई-मेल डंप नहीं करेंगे (आपके आईएसपी के अपस्ट्रीम सर्वर यहां पर्याप्त नहीं होंगे और आप आईएसपी को हिंसक रूप से दुखी करेंगे तो हम दो समर्पित बक्से इस्तेमाल करेंगे)
  • कुछ मेल आवरण (जैसे PhpMailer यदि PHP आपके पसंद का जहर है mail() PHP के mail() का उपयोग करके अपने आप में बहुत ही भयानक है)
  • अपने प्रेषक कार्य को एक लूप में चलाने के लिए, मेल बनाएं और उन्हें आवरण में दें (ध्यान दें कि अगर आपके ऐप में मेमोरी रिसाव है तो आप PHP मेमोरी सीमा में चला सकते हैं; आपको समय-समय पर भेजने की प्रक्रिया को पुन: चक्रित करने की जरूरत पड़ सकती है, या इससे भी बेहतर , "ई-मेल बनाने" और "ई-मेल भेजने" को पूरी तरह से रद्द करना)

हैरानी की बात है, यह आसान हिस्सा था। कठिन हिस्सा वास्तव में इसे भेज रहा है:

  • जब आप बहुत सारे मेल एक साथ बंद करते हैं तो कुछ सर्वर आपको प्रतिबंध करेंगे, इसलिए आपको अपनी कतार में घसीटना और देखने की आवश्यकता है (उदाहरण के लिए joe@example.com को एक मेल भेजें, फिर तीन से दूसरे डोमेन, केवल तभी एक और दूसरे के लिए address@example.com )
  • आपको सही पीटीआर, एसपीएफ़, डीकेआईएम रिकॉर्ड्स की आवश्यकता है
  • रिमोट सर्वर टाइमआउट से निपटने, गलत कॉन्फ़िगर किए गए DNS रिकॉर्ड और अन्य नेटवर्क सुखद
  • अमान्य ई-मेल को संभालने (और नहीं, regex उस के लिए गलत उपकरण है )
  • अनसब्सक्राइबल्स (कई वैध न्यूज़लेटर्स को कई निराश उपयोगकर्ताओं के कारण स्पैम के रूप में पुनः वर्गीकृत कर दिया गया है जो एक चरण में सदस्यता रद्द नहीं कर सके और इसके बजाय "स्पैम के रूप में चिह्नित करें" – स्पैम फिल्टर सीखते हैं, बड़ी ई-मेल प्रदाताओं के साथ सीखते हैं)
  • बाउंस को संभालना और अस्वीकार करता है ("ऐसा कोई मेलबॉक्स नहीं ojhn@example.com", "मेलबॉक्स john@example.com पूर्ण")
  • ब्लैकलिस्ट और ब्लैकलिस्ट से हटाना (ज़रूर, आप स्पैम नहीं भेज रहे हैं। कुछ प्राप्तकर्ता इस प्रकार इतनी पक्की नहीं होंगे – ऐसी बड़ी सूची के साथ, कभी-कभी ऐसा होगा, चाहे आप क्या सावधानी बरतें हों। -राजक प्रतिद्वंद्वियों) के रूप में आपके मेलिंग को स्पैम के रूप में गलत तरीके से रिपोर्ट करने के लिए जा सकता है – ऐसा हो सकता है। औसतन , इसे ब्लैकलिस्ट से निकालने के लिए सप्ताह लगते हैं।)

और इसे दूर करने के लिए, आपको इसके कानूनी हिस्से का प्रबंधन करना होगा (विभिन्न संघीय, राज्य और स्थानीय कानून; और यूएस के बाहर भेजने के बाद भी कानूनों के अलग-अलग गड़बड़ी भी हो सकते हैं (ध्यान दें: आपके पास यह जानने का कोई रास्ता नहीं है कि जो @ hotmail.com दक्षिण-पश्चिम एलबोनिया में रहता है, जो कि दुनिया के सबसे कठोर विरोधी विरोधी कानूनों वाला देश है))।

मुझे पूरा यकीन है कि मैं इस हाइड्रा के कुछ प्रमुखों को याद किया – क्या आप अभी भी यह सुनिश्चित कर रहे हैं कि आप खुद को यह करना चाहते हैं? यदि हां, तो एक और लहर होगी, इस बार केवल ई-मेल भेजने में निहित परेशान समस्याएं। (आप देख सकते हैं, एसएमटीपी एक स्टोअर एंड फॉरवर्ड प्रोटोकॉल है, जिसका अर्थ है कि इंटरनेट के आसपास कई एसएमटीपी सर्वरों में आपका ई-मेल फेर दिया जाएगा, आशा है कि अगले एक अंतिम प्राप्तकर्ता के करीब है। असल में, ई-मेल एक एसएमटीपी सर्वर को भेजा जाता है, जो इसे अपने आगे की कतार में डालता है, जब समय आता है, तो इसे आगे एक अलग एसएमटीपी सर्वर पर भेज दिया जाएगा, जब तक कि यह दिए गए डोमेन के लिए एसएमटीपी सर्वर तक नहीं पहुंच जाता है। , या कुछ ही मिनटों में, या घंटों या दिन या कभी नहीं।) इस प्रकार, आपको निम्न मुद्दे दिखाई देंगे – जिनमें से अधिकांश गंतव्य के साथ-साथ गंतव्य पर भी हो सकते हैं:

  • दूरस्थ SMTP सर्वर आपके SMTP सर्वर से बात नहीं करना चाहते हैं
  • आपके मेल को स्पैम के रूप में चिह्नित किया जा रहा है ( <blink> यहां आपका मित्र नहीं है, न ही <font color=...> )
  • आपके मेल को दिन दिया गया है, यहां तक ​​कि सप्ताह देर तक (लोकप्रिय राय के विपरीत, एसएमटीपी को भविष्य में किसी संदेश को देने के लिए सबसे अच्छा प्रयास करने के लिए डिज़ाइन किया गया है – इसे अब वितरित नहीं करना)
  • आपके मेल बिल्कुल नहीं दिए गए हैं (हॉप # 4 पर पहले से ही ई-मेल सर्वर से भेजे गए हैं, हॉप # 5 पर सर्वर से अभी तक नहीं भेजा गया है, जो वर्तमान में संदेश क्रैश रखता है, डेटा खो जाता है)
  • आपके मेल को कुछ ब्राइंडेड सर्वर द्वारा मार्ग में उलझाया जाता है (यह एक बेस 64 एन्कोडिंग के साथ कुछ हद तक सुलझनीय है, लेकिन तब आकार ऊपर जाता है और ई-मेल अधिक संदिग्ध दिखता है)
  • आपके मेल वितरित किए जाते हैं और प्राप्तकर्ता उन्हें नहीं चाहते हैं ("मुझे यकीन है कि मैंने इसके लिए साइन अप नहीं किया है, मुझे याद है कि मैंने एक साल पहले क्या किया था" (अर्थात आप करते हैं, श्रीमान))
  • माइक्रोसॉफ्ट आउटलुक के विभिन्न संस्करणों और इंटरनेट मेल के विशेष संचालन वाले उपयोगकर्ता
  • विज़ार्ड के शिक्षु मोड (एक आत्म-मजबूत सकारात्मक राय लूप – दूसरे शब्दों में, स्वचालित ई-मेल के उत्तर के रूप में स्वचालित ई-मेल के उत्तर के रूप में …; आप वास्तव में इसे सेट करने के लिए एक होना नहीं चाहते हैं आप अपने आप में आधे इंटरनेट पर क्रोधित हो गए थे)

और यह समस्या निवारण और इसका समाधान करने के लिए आपका काम होगा (संकेत: आप अधिकतर नहीं)। जो लोग वैध जन-मेलिंग व्यवसाय चलाने वाले हैं, वे जानते हैं कि अंत में आप इसे हल नहीं कर सकते, और वे इसे भी हल नहीं कर सकते हैं – और उनके पास अच्छी तरह से शोध, दस्तावेज और रेखांकित कारण हैं (शायद एक पावरपॉइंट प्रस्तुति के रूप में भी – ध्वनियों और शांत बदलावों के साथ पूरा करें – जो आपके मालिकों को समझ सकते हैं), जैसा कि उन्हें इस बारे में एक लाख बार समझा जाना था साथ ही, जो समस्याएं वास्तव में हल करने योग्य हैं, उन्हें पता है कि उन्हें कैसे हल करना है।

अगर, इस सब के बाद, आप निराश नहीं हैं और अभी भी ऐसा करना चाहते हैं, आगे बढ़ें: यह भी संभव है कि ऐसा करने के लिए आपको एक बेहतर तरीका मिलेगा। बस पता है कि आगे का रास्ता आसान नहीं होगा – ई-मेल भेजना तुच्छ है, इसे प्राप्त करना मुश्किल है।

लोगों ने मेलकैम्प की सिफारिश की है जो थोक ईमेल के लिए एक अच्छा विक्रेता है। यदि आप ट्रांसेक्शनल ईमेल के लिए एक अच्छे विक्रेता की तलाश में हैं, तो मैं मदद कर सकता हूं।

पिछले 6 महीनों में, हमने चार अलग-अलग एसएमटीपी विक्रेताओं का इस्तेमाल किया था जो यह पता लगाया गया था कि सबसे अच्छा कौन था।

हम जो मिले हैं उसका सारांश यहां दिया गया है …

AuthSMTP

  • लगभग सस्ता
  • कोई विश्लेषण / रिपोर्टिंग नहीं
  • खुलने / क्लिक के लिए कोई ट्रैकिंग नहीं है
  • कुछ भेजते समय थोड़ी हिचकिचाहट होती है

डाक-घर की मुहर लगाना

  • बहुत सस्ते, लेकिन AuthSMTP के रूप में उतना सस्ता नहीं है
  • सुंदर cpanel लेकिन खुलने / क्लिक पर कोई ट्रैकिंग नहीं है
  • भेजें-स्तरीय गतिविधि ट्रैकिंग ताकि आप एक एकल ईमेल खोल सकें जो भेजा गया था और देखें कि यह कैसा दिखता है और वितरण डेटा
  • एपीआई का उपयोग करना है एसएमटीपी द्वारा भेजा गया था हाल ही में पेश किया गया था लेकिन यह छोटी गाड़ी है। उदाहरण के लिए, हमने देखा कि विषय पंक्ति में उद्धरण (") छीन लिए गए हैं।
  • आप चाहते हैं कि किसी भी अटैचमेंट को नहीं भेज सकते। फ़ाइल प्रकारों और एक निश्चित आकार के तहत अनुमोदित सूची में होना चाहिए। (10 एमबी मुझे लगता है)
  • नाम / पते से एक निर्धारित सूची की आवश्यकता है

JangoSMTP

  • दूसरों के संबंध में महंगी – कुछ मामलों में 10 गुना से ज्यादा
  • बदसूरत CPANEL लेकिन ईमेल-स्तर की जानकारी के साथ खुलने / क्लिक पर महान ट्रैकिंग
  • विचलित होने पर, कभी-कभी, भेजते समय दो मौकों पर, भेजने के लिए एक घंटे का समय लगता है
  • नाम / पते से निर्धारित सूची की आवश्यकता है

SendGrid

  • काफी AuthSMTP के रूप में सस्ते नहीं है, लेकिन अभी भी बहुत सस्ते। कई ग्राहक प्रति दिन 200 नि: शुल्क भेज सकते हैं।
  • सभ्य CPANEL लेकिन खुले / क्लिक ट्रैकिंग पर गहन विस्तार नहीं है
  • बहुत सारे API विकल्प एक ईमेल-बाय-ई-मेल आधार पर विकल्प (खुले / क्लिक ट्रैकिंग, आदि) कस्टम परिभाषित किए जा सकते हैं। इनबाउंड (उत्तर) ईमेल हमारे एचटीटीपी एंड पॉइंट पर पोस्ट किया जा सकता है।
  • भेजता है पर बिल्कुल शून्य डरावना हर ईमेल भेजा लगभग इनबॉक्स में उतरा।
  • किसी भी नाम / पते से भेज सकते हैं

निष्कर्ष

दूसरे स्थान पर आने वाले पोस्टमार्क के साथ SendGrid सबसे अच्छा था। हमने कभी भी उन दोनों में से किसी के साथ भेजने के समय में कोई झिझक नहीं देखा था – कुछ मामलों में हमने एक बार में कई सौ ईमेल भेज दिए – और एक ठोस विशेषताओं को देखते हुए इन दोनों में सर्वश्रेष्ठ आरओआई है

मेरे सबसे बड़े सिस्टम में से एक पर PHP में हाल ही में मैंने किया है:

  1. उपयोगकर्ता इनपुट समाचार पत्र पाठ और प्राप्तकर्ताओं का चयन करता है (जो बाद में ईमेल पते को पुनः प्राप्त करने के लिए एक क्वेरी उत्पन्न करता है)

  2. न्यूज़लेटर पाठ और प्राप्तकर्ताओं को क्वेरी को ईमेल में एक पंक्ति में जोड़ें * email_queue *

    • (तालिका ईमेल_ुक्यू में कॉलम "विषय" "" "प्राथमिकता") हैं
  3. मैंने एक और स्क्रिप्ट बनाई है, जो हर मिनट क्रोन जॉब के रूप में चलता है। यह स्विफ्ट मेलर क्लास का उपयोग करता है। यह स्क्रिप्ट केवल:

    • व्यावसायिक समय के दौरान, प्राथमिकता == 0 के साथ सभी ईमेल भेजता है

    • कुछ घंटों के बाद, प्राथमिकता से अन्य ईमेल भेजें

होस्ट सेटिंग्स पर निर्भर करते हुए, अब मैं मानक स्विफ्ट मेलर्स प्लगिन जैसे एंटिफ्लूड और थ्रॉटल की तरह थ्रॉटल कर सकता हूं …

 $mailer->registerPlugin(new Swift_Plugins_AntiFloodPlugin(50, 30)); 

तथा

 $mailer->registerPlugin(new Swift_Plugins_ThrottlerPlugin( 100, Swift_Plugins_ThrottlerPlugin::MESSAGES_PER_MINUTE )); 

आदि आदि..

मैंने इसे इस छद्मकोण से परे विस्तारित किया है, अटैचमेंट्स के साथ, और कई अन्य कॉन्फ़िगर करने योग्य सेटिंग्स, लेकिन यह बहुत अच्छी तरह से काम करता है जब तक कि आपका सर्वर ईमेल भेजने के लिए सही ढंग से सेटअप हो। (संभवतः साझा होस्टिंग पर काम करने में अभ्यस्त है, लेकिन सिद्धांत में यह होना चाहिए …) स्विफ्टमेलर में भी एक सेटिंग है

 $message->setReturnPath 

जो अब मैं बाउंस को ट्रैक करने के लिए उपयोग करता हूं …

खुश ट्रेल्स! (मुबारक ईमेल?)