2010-02-25 16 views
9

PHPMailer में लगातार SMTP कनेक्शन को सक्षम करने के लिए कैसे करें?PHPMailer में लगातार SMTP कनेक्शन

मैं कई ईमेल भेजूंगा, इसलिए निरंतर कनेक्शन के साथ शायद मुझे प्रदर्शन लाभ मिलेगा।

उत्तर

15

यदि आपका सर्वर ब्लैकलिस्ट हो गया है, तो हम वास्तव में यहां परवाह नहीं करते हैं, है ना? यह है कि आप जो चाहते हैं उसे हासिल करने के लिए। बस true पर SMTPKeepAlive संपत्ति पर सेट करें और थोक भेजने के बाद, SmtpClose() विधि को स्पष्ट रूप से कॉल करें। भेजता अच्छा विचार है, तेजी से भेजने के लिए होता है जब आप थोक भेज रहे हैं और तेजी से भेजना चाहते हैं, ईमेल के विशिष्ट संख्या के लिए जिंदा एसएमटीपी कनेक्शन रखने

$phpMailer = New PHPMailer(); 
$phpMailer->isSMTP(); 
$phpMailer->SMTPKeepAlive = true; 

for (...) { 
    // Send your emails right away 
    [ ... ] 
} 

$phpMailer->SmtpClose(); 
+0

स्पैमिंग के रूप में देखा जाने की संभावना से बचने चाहिए, मौर्यो! यही वह जवाब है जिसे मैं ढूंढ रहा था। –

+1

हाय मौरो मैंने एक ही कोड $ phpMailer-> SMTPKeepAlive = true का उपयोग किया। लेकिन ईमेल भेजने की गति में वृद्धि नहीं हुई। कोड की यह पंक्ति मेरे मामले में प्रदर्शन नहीं बदलती है। यदि आपके पास कोई अन्य है तो कृपया मुझे सुझाव दें। –

+1

@ मेहशेकलेले, '$ phpMailer-> SMTPKeepAlive = true' केवल पहले ईमेल पर कनेक्शन बंद करने से बच जाएगा, इसलिए इसे अगले पर खोला नहीं जाना चाहिए। हालांकि, सर्वर कनेक्शन को बंद कर सकता है और आप इसे बदल नहीं सकते हैं। यदि आपको ईमेल को तेज़ी से भेजने की आवश्यकता है, तो मैं आपको सलाह देता हूं कि आप एक एपीआई आधारित ईमेल प्लेटफॉर्म जैसे मैंड्रिल या मेलगुन का उपयोग करें, जहां आप एक ही अनुरोध पर सैकड़ों ईमेल फायर कर सकते हैं। हालांकि अगर आप स्पैम करने की कोशिश कर रहे हैं, तो बस भूल जाओ कि मैंने आपकी मदद की, अपने कमरे में जाएं और आपने जो किया उसके बारे में बात करें। – Mauro

2

लगातार एसएमटीपी कनेक्शन से आपका क्या मतलब है?

पहले यदि आप एक ईमेल आप सर्वर से जुड़े हैं, जब तक यह काम खत्म भेजें। दूसरे अगर आप कई ईमेल भेजने करना चाहते हैं (शायद अपने सर्वर काली सूची में हो जाएगा), आप अपने पीएचपी कोड में एक पाश लिखते हैं, whitch सभी ईमेल adresses को हासिल करेगा और उन्हें PHPMailer के पास रहता है और अंत में उन्हें sendts । यह बताता है कि मैं बड़े पैमाने पर मेल कैसे भेजूंगा।

+0

लेकिन मुझे इसे PHPMailer में किसी स्थान पर सक्षम करने की आवश्यकता है, क्योंकि यह –

+0

भेजे गए प्रत्येक ईमेल पर कनेक्ट और डिस्कनेक्ट ठीक है, ठीक है। मै समझता हुँ। –

+0

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

2

ईमेल भेजने के अनुकूलन करके, आप स्पैमिंग के रूप में पहचाने जाने के रूप में स्वयं को खोल सकते हैं और इसलिए वेब सर्वर को आपके आईपी को अवरुद्ध करने का कारण बनता है।

आप कितने ईमेल भेज रहे हैं? वास्तव में गति के बजाय भेजे गए ईमेल को थ्रॉटल करना बेहतर हो सकता है।

+0

ईमेल की मात्रा को थ्रॉटल कर सकें, वर्तमान में मैं 2500 ईमेल भेज रहा हूं। –

+0

हां, मैं थ्रॉटलिंग के बारे में सहमत हूं। प्रति घंटे 500-1000 तक सीमित होने से स्पैमिंग – Cez

0

लगातार एसएमटीपी कनेक्शन उपयुक्त है। लूप के भीतर अक्सर वैकल्पिक एसएमटीपी कनेक्शन आईपी वार्मिंग सत्र के दौरान अधिक नियंत्रित भेजने का तरीका हो सकता है। https://www.mumara.com/persistent-smtp-connection-and-non-persistent-loop/

संबंधित मुद्दे