तृतीय पक्ष smtp के माध्यम से मेल भेजना। PHP में SMTP के माध्यम से मेल भेजना

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

एसएमटीपी के माध्यम से क्यों भेज रहे हैं और मेल नहीं ()

मेरा उत्तर काफी सरल है - कुछ समय के लिए, वायरस ने मेरे सर्वर के माध्यम से बहुत सारे पत्र भेजे, जिसके कारण कई मेलर्स, विशेष रूप से gmail.com से मेरे आईपी पते का BAN हो गया, और इस संबंध में, उपयोगकर्ता पत्र प्राप्त कर सकते थे, इसलिए मुझे एक विकल्प खोजना पड़ा और मैंने पाया कि यह एसएमटीपी है

शायद आपको इस बात में दिलचस्पी होगी कि मेरी लिपि दूसरों की तुलना में बेहतर क्यों है जो झूठ बोल रहे हैं?! मैं उत्तर दूंगा

  1. यह यांडेक्स, रैम्बलर, मेल के साथ काम करता है (जीमेल जीत नहीं सका)
  2. कोड साफ़ करें। इसे सेट करने के लिए, बस कुछ पंक्तियों को बदलें
  3. HTML प्रारूप में ईमेल भेजता है

यहां मेरी स्क्रिप्ट के फायदे हैं, जिनमें से मुझे इंटरनेट पर कोई नहीं मिला, लेकिन प्रत्येक से मैंने अपनी जरूरत की हर चीज ली। तो, आइए कोड पर एक नज़र डालें।

समारोह smtpmail ($ mail_to, $ विषय, $ संदेश, $ service = "yandex") ($ config ["smtp_charset"] = "windows-1251"; // संदेश एन्कोडिंग। (या UTF-8, आदि) $ config [ "smtp_from"] = "mashintop.ru"; // आपका नाम - या आपकी साइट का नाम। "प्रेषक" फ़ील्ड में पढ़ते समय दिखाया जाएगा $ config ["smtp_debug"] = false; // यदि आप चाहते हैं त्रुटि संदेश देखने के लिए, गलत $ config ["smtp_port"] = "25"; // वर्क पोर्ट के बजाय सही निर्दिष्ट करें। यदि आप सुनिश्चित नहीं हैं तो इसे न बदलें। यदि ($ service == "yandex") ($ config [ "smtp_searcher"] = "yandex. ru"; $ config [" smtp_email "] =" [ईमेल संरक्षित]"; $ config [" smtp_username "] =" mashintop "; // अपने मेलबॉक्स के नाम में परिवर्तन करें। $ config [" smtp_host "] =" smtp.yandex.ru "; // मेल भेजने के लिए सर्वर $ config [" smtp_password "] =" moi_parol "; // अपना पासवर्ड बदलें) अन्य ($ service ==" rambler ") ($ config [" smtp_searcher "] =" rambler.ru "; $ config [" smtp_email "] =" [ईमेल संरक्षित]"; $ config [" smtp_username "] =" mashintop "; // अपने मेलबॉक्स के नाम में परिवर्तन करें। $ config [" smtp_host "] =" smtp.rambler.ru "; // मेल भेजने के लिए सर्वर $ config [" smtp_password "] =" moi_parol "; // अपना पासवर्ड बदलें) अन्य ($ service ==" mail ") ($ config [" smtp_searcher "] =" mail.ru "; $ config [" smtp_email "] =" [ईमेल संरक्षित]"; $ config [" smtp_username "] =" mashintop "; // अपने मेलबॉक्स के नाम में परिवर्तन करें। $ config [" smtp_host "] =" smtp.mail.ru "; // मेल भेजने के लिए सर्वर $ config [" smtp_password "] =" moi_parol "; // अपना पासवर्ड बदलें) अन्य ($ service ==" gmail ") ($ config [" smtp_searcher "] =" gmail.com "; $ config [" smtp_email "] =" [ईमेल संरक्षित]"; $ config [" smtp_username "] =" alexeybertram "; // अपने मेलबॉक्स नाम में बदलें। $ config [" smtp_host "] =" smtp.gmail.com "; // मेल भेजने के लिए सर्वर $ config [" smtp_password " ] =" moi_parol "; // अपना पासवर्ड बदलें) $ हैडर =" दिनांक: ".तिथि ("डी, जे एमवायजी: आई: एस")।" + 0700rn "; $ हेडर। =" से: =? विंडोज -1251? क्यू? "। स्ट्र_रेप्लेस ("+ "," _ ", str_replace ("% "," = ", urlencode (" "। $ कॉन्फिग [" smtp_from "]।" ")))"? =<".$config["smtp_email"].">आरएन "; $ हेडर। =" एक्स-मेलर: बल्ला! (v3.99.3) Professionalrn "; $ हेडर। =" उत्तर-टू: =? windows-1251? Q? ". str_replace (" + "," _ ", str_replace ("% "," = ", urlencode (" ". $ config [" smtp_from "]।" ")))"? =<".$config["smtp_email"].">आरएन "; $ हेडर। =" एक्स-प्राथमिकता: 3 (सामान्य) आरएन "; $ हेडर। =" संदेश-आईडी:<172562218.".date("YmjHis")."@".$config["smtp_searcher"].">rn "; $ हैडर। =" To: =? windows-1251? Q? ". str_replace ("+ "," _ ", str_replace ("% "," = ", urlencode (" ")))"? =<$mail_to>आरएन "; $ हेडर। =" विषय: =? विंडोज़ -1251? क्यू? "। str_replace ("+ "," _ ", str_replace ("% "," = ", urlencode (" "। $ विषय।" " )))। "? = rn"; $ शीर्षलेख। = "MIME-संस्करण: 1.0rn"; $ शीर्षलेख। = "सामग्री-प्रकार: पाठ / html; charset = windows-1251rn "; $ शीर्षलेख। =" सामग्री-स्थानांतरण-एन्कोडिंग: 8bitrn "; $ smtp_conn = fsockopen (" "। $ config [" smtp_host "]।" ", $ config [" smtp_port "], $ त्रुटि , $ errstr, 10); अगर (! $ smtp_conn) (प्रिंट "सर्वर से कनेक्शन विफल"; fclose ($ smtp_conn); बाहर निकलें;) $ डेटा = get_data ($ smtp_conn); fputs ($ smtp_conn, "EHLO"। $ config ["smtp_searcher"]। "rn"); $ code = substr (get_data ($ smtp_conn), 0.3000); अगर ($ कोड! = 250) (प्रिंट "EHLO स्वागत त्रुटि"; fclose ($ smtp_conn); बाहर निकलें; ) fputs ($ smtp_conn, "AUTH LOGINrn"); $ कोड = सबस्ट्र (get_data ($ smtp_conn), 0.3000); अगर ($ कोड! = 334) (प्रिंट "सर्वर ने प्राधिकरण शुरू करने की अनुमति नहीं दी"; fclose ($ smtp_conn); बाहर निकलें;) fputs ($ smtp_conn, base64_encode (""। $ config ["smtp_username"]। "")। "आरएन"); $ कोड = सबस्ट्र (get_data ($ smtp_conn), 0.3000); अगर ($ कोड! = 334) (प्रिंट "इस उपयोगकर्ता तक पहुँचने में त्रुटि"; fclose ($ smtp_conn); बाहर निकलें;) fputs ($ smtp_conn, base64_encode (""। $ config ["smtp_password"]। "")। "rn"); $ कोड = सबस्ट्र (get_data ($ smtp_conn), 0.3000); अगर ($ कोड! = 235) (प्रिंट "वैध पी नहीं है एरोल "; fclose ($ smtp_conn); बाहर निकलें;) fputs ($ smtp_conn, "मेल से:"। $ config ["smtp_email"]। "आरएन"); $ कोड = सबस्ट्र (get_data ($ smtp_conn), 0.3000); अगर ($ कोड! = 250) (प्रिंट "सर्वर ने कमांड से मेल को अस्वीकार कर दिया"; fclose ($ smtp_conn); बाहर निकलें;) fputs ($ smtp_conn, "RCPT TO:"। $ mail_to। "rn"); $ कोड = सबस्ट्र (get_data ($ smtp_conn), 0.3000); अगर ($ कोड! = 250 और $ कोड! = 251) (प्रिंट "सर्वर ने आरसीपीटी टू कमांड को स्वीकार नहीं किया"; fclose ($ smtp_conn); बाहर निकलें;) fputs ($ smtp_conn, "DATArn"); $ कोड = सबस्ट्र (get_data ($ smtp_conn), 0.3000); अगर ($ कोड! = 354) (प्रिंट "सर्वर ने डेटा स्वीकार नहीं किया"; fclose ($ smtp_conn); बाहर निकलें;) fputs ($ smtp_conn, $ हेडर। "आरएन"। $ संदेश। "rn.rn"); $ कोड = सबस्ट्र (get_data ($ smtp_conn), 0.3000); अगर ($ कोड! = 250) ("ईमेल भेजने में त्रुटि" प्रिंट करें; fclose ($ smtp_conn); बाहर निकलें;) fputs ($ smtp_conn, "QUITrn"); fclose ($ smtp_conn); ) फ़ंक्शन get_data ($ smtp_conn) ($ डेटा = ""; जबकि ($ str = fgets ($ smtp_conn, 515)) ($ डेटा। = $ str; अगर (सबस्ट्र ($ str, 3,1) == "" ) (ब्रेक;)) $ डेटा लौटाएं;) $ text_email = " आपने अभी-अभी mashintop.ru पर एक विज्ञापन जोड़ा है। आप यहां देख सकते हैं
आपकी कुंजी: ". $ कुंजी।"

के जरिए दी गई कुंजीआप अपना विज्ञापन प्रबंधित करने में सक्षम होंगे।

"; $ text_email। =" "; smtpmail (" [ईमेल संरक्षित]"," mashintop.ru पर विज्ञापन की कुंजी ", $ text_email," yandex "); // Yandex smtpmail का उपयोग करें (" [ईमेल संरक्षित]"," mashintop.ru पर विज्ञापन की कुंजी ", $ text_email," मेल "); // मेल smtpmail का उपयोग करें (" [ईमेल संरक्षित]"," mashintop.ru पर विज्ञापन की कुंजी ", $ text_email," rambler "); // रैम्बलर smtpmail का उपयोग करें (" [ईमेल संरक्षित]"," mashintop.ru पर विज्ञापन की कुंजी ", $ text_email," gmail "); // लेकिन जीमेल काम नहीं करता है :(

बस इतना ही, तैयार स्क्रिप्ट आपके हाथ में है, बस कॉपी करें, $ config सरणी के मान बदलें और सब कुछ ठीक काम करेगा।

अब आइए कुछ ऐसे तत्वों पर एक नज़र डालते हैं जिन पर मैं प्रकाश डालना चाहता हूँ।

Narpimer, जब हम Google को SMTP के माध्यम से भेजने का प्रयास करते हैं तो हमें जो त्रुटि मिलती है। प्रारंभ में, हम निम्न त्रुटि पाठ देखते हैं:

कुछ और विशिष्ट देखने के लिए, आइए कोड को थोड़ा संशोधित करें।

Fputs ($ smtp_conn, "AUTH LOGINrn"); $ कोड = सबस्ट्र (get_data ($ smtp_conn), 0.3000); इको $ कोड; अगर ($ कोड! = 334) ("सर्वर ने प्राधिकरण शुरू करने की अनुमति नहीं दी" प्रिंट करें; fclose ($ smtp_conn); बाहर निकलें;)

और अंत में हमें एक बहुत ही विशिष्ट त्रुटि मिलती है

530 5.7.0 पहले एक STARTTLS आदेश जारी करना चाहिए। x4sm16408296lbn.2 - जीएसएमटीपी

इसका वास्तव में क्या अर्थ है - मुझे नहीं पता, लेकिन मेरा मानना ​​​​है कि कुछ सुरक्षित असुरक्षित कनेक्शन से जुड़ा है। इससे कैसे छुटकारा पाएं - मुझे अभी पता नहीं है, इसलिए जीमेल को फिलहाल हराया नहीं गया है।



एक निश्चित साइट के लिए कुशलतापूर्वक और उत्पादक रूप से काम करने का अवसर प्राप्त करने के लिए, इसके निर्माण को यथासंभव जिम्मेदारी और संतुलित रूप से संपर्क किया जाना चाहिए। ऑनलाइन स्टोर बनाते समय उपयोग की जाने वाली प्रणाली का चुनाव विशेष ध्यान देने योग्य है। तथ्य यह है कि वस्तुओं या सेवाओं की बिक्री में विशेषज्ञता वाले एक वाणिज्यिक मंच को आपको सभी आवश्यक कार्यक्षमताओं को लागू करने और साइटों को बनाए रखने और भरने वाले प्रशासकों और ऑनलाइन स्टोर के ग्राहकों के लिए उपयोग करने में आसान होना चाहिए। बहुत से लोग और कंपनियां जो अपने लिए एक उपयुक्त सीएमएस चुनने के सवाल का सामना करती हैं, विश्लेषण करती हैं: मैगेंटो या ओकेसीएमएस को क्या चुनना है। आइए इन साइट इंजनों की विशेषताओं और क्षमताओं की तुलना करें।

अपनी वेबसाइट पर काम करते समय, किसी व्यक्ति या कंपनी को बहुत प्रयास करने होंगे - केवल इस मामले में, आप सकारात्मक परिणामों और वास्तव में प्रभावी उपकरण पर भरोसा कर सकते हैं। वेबसाइट बनाने से पहले ही हल किए जाने वाले मूलभूत प्रश्नों में से एक यह होगा कि सबसे उपयुक्त सीएमएस विकल्प कैसे तय किया जाए। अगला, हम दो सीएमएस की तुलना करेंगे: जूमला या ओकेसीएमएस, उनमें से प्रत्येक की विशेषताओं पर ध्यान दें।

एक प्रभावी, सफल व्यवसाय के लिए अपनी खुद की वेबसाइट का होना मूलभूत आवश्यकताओं में से एक है। आंकड़े स्पष्ट रूप से इंटरनेट के माध्यम से सेवाओं के लिए विभिन्न वस्तुओं और आदेशों की खरीद की संख्या में वृद्धि के पक्ष में गवाही देते हैं। इसे ध्यान में रखते हुए, अधिकांश वाणिज्यिक कंपनियां पहले से ही अपनी वेबसाइट की आवश्यकता महसूस कर रही हैं। हालाँकि, इंटरनेट संसाधन की उपलब्धता का मात्र तथ्य अभी भी इसकी दक्षता, लाभप्रदता और अपेक्षित व्यावसायिक लाभों पर भरोसा करने के लिए पर्याप्त नहीं है।

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

भविष्य के ऑनलाइन स्टोर के लिए अपनी खुद की वेबसाइट बनाने की योजना बनाते समय, काफी बड़ी संख्या में लोगों और यहां तक ​​कि बिक्री में विशेषज्ञता वाली कंपनियों को भी मुश्किल और बेहद मुश्किल का सामना करना पड़ता है। महत्वपूर्ण विकल्प: मौजूदा सीएमएस में से किसे चुनना है। यदि आप सोच रहे हैं कि क्या चुनना है: PrestaShop या OKCMS, हमारा सुझाव है कि आप इस लेख को पढ़ें, जिसमें हम इंटरनेट साइट, विशेष रूप से, ऑनलाइन स्टोर बनाने के लिए इन दो प्रणालियों की तुलना करेंगे।

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

प्राधिकरण लॉगिन- एक्सचेंज शब्दावली में, यह मूल प्रमाणीकरण है, जब उपयोगकर्ता नाम और पासवर्ड नेटवर्क पर एन्कोड किए गए एल्गोरिदम में प्रेषित होते हैं बेस 64प्रपत्र। अधिकांश आंतरिक पर एक्सचेंज सर्वरव्यवस्थापक अक्षम नहीं करते बुनियादीप्रमाणीकरण... आप प्राप्तकर्ता कनेक्टर की सेटिंग में इसके समर्थन की जांच कर सकते हैं।

ध्यान दें... कृपया ध्यान दें कि एक हमलावर, संचार चैनल तक पहुँचने पर, बेस 64-एन्कोडेड उपयोगकर्ता क्रेडेंशियल्स को आसानी से इंटरसेप्ट और डिक्रिप्ट कर सकता है। इसलिए, इस प्राधिकरण पद्धति को विशेष रूप से निजी कॉर्पोरेट नेटवर्क में उपयोग करने की अनुशंसा की जाती है।

AUTH LOGIN का उपयोग करके मेल सर्वर में लॉग इन करने के लिए, हमें उपयोगकर्ता के उपयोगकर्ता नाम और पासवर्ड को परिवर्तित करने की आवश्यकता है जिससे संदेश बेस 64 प्रारूप में भेजा जाएगा। यह स्क्रिप्ट का उपयोग करके किया जा सकता है या ऑनलाइन सेवाएं... मैं साइट https://www.base64encode.org/ का उपयोग करता हूं।

उपयोगकर्ता नाम: [ईमेल संरक्षित] कॉन्टोसोकॉम, बेस 64 एन्कोडिंग में यह निकला: dGVzdHVzZXJAY29udG9zby5jb20 =

कुंजिका: $ up3रु. टी.आर.)एनजी- बेस 64 . में जेएचवीडब्ल्यूएम1जेजेवीएचआईपीबीएमसी =

अब, कमांड लाइन में, टेलनेट का उपयोग करते हुए, हम अपने मेल सर्वर के पोर्ट 25 (एसएमटीपी) से जुड़ते हैं (मैं नीले रंग में दर्ज कमांड को हाइलाइट करूंगा):

टेलनेट mail.contoso.com 25

अगर यह एक्सचेंज है, तो यह कुछ ऐसा लौटाएगा;

आइए अपना परिचय दें:

एहलो प्रेषक.contoso.com

सर्वर समर्थित प्राधिकरण प्रकारों और क्षमताओं की एक सूची लौटाएगा। जैसा कि आप देख सकते हैं, मूल प्राधिकरण (AUTH LOGIN) सूची में है।

250-mail.contoso.com नमस्कार
250-आकार 36700160
250-पाइपलाइनिंग
250-डीएसएन
250-उन्नत स्थिति कोड
250-STARTTLS
250-प्रमाण लॉगिन
250-8 बिटमाइम
250-बाइनरीमाइम
250 चंकिंग

प्राधिकरण लॉगिन

सर्वर को जवाब देना चाहिए:
334 वीएक्सएनएलसीएम5एचबीडब्ल्यूयू6

अब हम बेस 64 प्रारूप में उपयोगकर्ता नाम सम्मिलित करते हैं जिसे हमने पहले एन्कोड किया था:
dGVzdHVzZXJAY29udG9zby5jb20 =

सर्वर को जवाब देना चाहिए:

334 UGFzc3dvcmQ6.

अब बेस 64 प्रारूप में पासवर्ड डालने का समय आ गया है:
JHVwM1JzVHIpbmc =

यदि उपयोगकर्ता नाम और पासवर्ड सही हैं, तो सर्वर जवाब देगा।
235 2.7.0 प्रमाणीकरण सफल

अगर नहीं:

535 5.7.8 त्रुटि: प्रमाणीकरण विफल: UGFzc3dvcmQ6

अब आप पत्र के मानक क्षेत्रों को भर सकते हैं:

मेल प्रेषक: [ईमेल संरक्षित]
250 2.1.0 प्रेषक ठीक
आरसीपीटी को: [ईमेल संरक्षित]
250 2.1.5 प्राप्तकर्ता ठीक
आंकड़े
354 मेल इनपुट प्रारंभ करें; के साथ समाप्त करना।
से: टेस्टयूसरोविच
सेवा मेरे: व्यवस्थापक< [ईमेल संरक्षित] >
विषय: टेस्ट बेस एसएमटीपी टेलनेट के माध्यम से प्रमाणित
यह परीक्षण है
.
250 2.6.0 प्रसव के लिए कतारबद्ध मेल

छोड़ना

221 2.0.0 क्लोजिंग कनेक्शन।
कनेक्शन विदेशी मेजबान द्वारा बंद कर दिया गया है।

बस इतना ही, परीक्षण पत्र को प्राप्तकर्ता के मेलबॉक्स में सफलतापूर्वक वितरित किया जाना चाहिए।

एसएमटीपी के माध्यम से मेल भेजने की सेटिंग

ऐसे मामले हैं जब साइट बिल्डरों को सीएमएस जूमला पर साइट के ईमेल कार्य की समस्या का सामना करना पड़ता है। उदाहरण के लिए, फीडबैक फॉर्म के माध्यम से एक पत्र भेजते समय, निम्न प्रकार की त्रुटियां दिखाई दे सकती हैं: "मेल के फंक्शन के बारे में दृष्टांत नहीं दिया जा सका"या "मेल फ़ंक्शन को कॉल करने में विफल"... त्रुटियों के बिना एक पत्र भेजना भी संभव है, लेकिन परिणामस्वरूप, यह अभी भी प्राप्तकर्ता तक नहीं पहुंचता है।

ये मेल समस्याएँ क्यों उत्पन्न होती हैं? इस प्रश्न का उत्तर देने के लिए, आपको नियंत्रण कक्ष में निम्न पथ से गुजरना होगा: "सिस्टम" - "सामान्य सेटिंग्स" - "सर्वर" टैब - "मेल सेटिंग्स" अनुभाग।

सीएमएस जूमला ईमेल भेजने के लिए तीन तंत्र प्रदान करता है: PHP मेल, सेंडमेल और एसएमटीपी। डिफ़ॉल्ट रूप से, PHP मेल का उपयोग किया जाता है जिसके साथ अक्सर समस्याएं होती हैं, जो मुख्य रूप से उपयोग की जाने वाली होस्टिंग की सेटिंग्स से संबंधित होती हैं।

उपरोक्त के आधार पर, हम निष्कर्ष निकालते हैं: या तो हम सहायता के लिए होस्टिंग प्रदाता की ओर रुख करते हैं, या हम पत्र भेजने के लिए Sendmail या SMTP पद्धति का उपयोग करते हैं। आइए SMTP के उपयोग पर ध्यान दें।

SMTP का उपयोग करके मेल भेजने की सेटिंग

SMTP (सिंपल मेल ट्रांसफर प्रोटोकॉल) एक नेटवर्क प्रोटोकॉल है जिसका इस्तेमाल ई-मेल ट्रांसफर करने के लिए किया जाता है। SMTP का उपयोग करने के लिए, आपको उपयोग किए जाने वाले विशिष्ट मेल सर्वर के लिए सेटिंग्स को सही ढंग से सेट करना होगा।

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

यांडेक्स के लिए एसएमटीपी सेटिंग्स

  1. साइट का ई-मेल: yandex.ru पर मेलबॉक्स, उदाहरण के लिए: [ईमेल संरक्षित]
  2. एसएमटीपी सुरक्षा: एसएसएल
  3. एसएमटीपी सर्वर पोर्ट: 465
  4. SMTP उपयोगकर्ता नाम: yandex.ru पर मेलबॉक्स लॉगिन, उदाहरण के लिए: khasanov (@ yandex.ru के बिना)
  5. एसएमटीपी सर्वर: smtp.yandex.ru

मेल के लिए एसएमटीपी सेटिंग्स

  1. साइट का ई-मेल: mail.ru पर मेलबॉक्स, उदाहरण के लिए: [ईमेल संरक्षित]
  2. पत्र भेजने वाला: एक प्रविष्टि जो प्राप्तकर्ता के "प्रेषक" फ़ील्ड में प्रदर्शित होगी
  3. मेलिंग अक्षम करें: चालू / बंद। मास मेलिंग फ़ंक्शन
  4. एसएमटीपी सर्वर प्रमाणीकरण: हाँ
  5. एसएमटीपी सुरक्षा: एसएसएल
  6. एसएमटीपी सर्वर पोर्ट: 465
  7. SMTP उपयोगकर्ता नाम: mail.ru पर मेलबॉक्स, उदाहरण के लिए: [ईमेल संरक्षित]
  8. एसएमटीपी पासवर्ड: मेलबॉक्स पासवर्ड
  9. एसएमटीपी सर्वर: smtp.mail.ru

जीमेल के लिए एसएमटीपी सेटिंग्स

  1. साइट ई-मेल: gmail.com पर मेलबॉक्स, उदाहरण के लिए: [ईमेल संरक्षित]
  2. पत्र भेजने वाला: एक प्रविष्टि जो प्राप्तकर्ता के "प्रेषक" फ़ील्ड में प्रदर्शित होगी
  3. मेलिंग अक्षम करें: चालू / बंद। मास मेलिंग फ़ंक्शन
  4. एसएमटीपी सर्वर प्रमाणीकरण: हाँ
  5. एसएमटीपी सुरक्षा: एसएसएल
  6. एसएमटीपी सर्वर पोर्ट: 465
  7. SMTP उपयोगकर्ता नाम: gmail.com पर मेलबॉक्स, उदाहरण के लिए: [ईमेल संरक्षित]
  8. एसएमटीपी पासवर्ड: मेलबॉक्स पासवर्ड
  9. एसएमटीपी सर्वर: smtp.gmail.com

रामब्लर के लिए एसएमटीपी सेटिंग्स

  1. साइट का ई-मेल: rambler.ru पर मेलबॉक्स, उदाहरण के लिए: [ईमेल संरक्षित]
  2. पत्र भेजने वाला: एक प्रविष्टि जो प्राप्तकर्ता के "प्रेषक" फ़ील्ड में प्रदर्शित होगी

PHP में, स्क्रिप्ट का उपयोग करना काफी लोकप्रिय है जो पत्र भेजने की प्रक्रिया को स्वचालित करता है। इस लेख में, हम एक साधारण स्क्रिप्ट पर विचार करेंगे जो एसएमटीपी का उपयोग करके प्राप्तकर्ताओं के मेल पर पत्र भेजती है ( सरल डाक स्थानांतरण प्रोटोकॉल ) खुद को केवल इस कार्यक्षमता तक सीमित रखना बहुत आसान होगा, स्क्रिप्ट अनुलग्नकों का भी समर्थन करती है, यानी आप पीडीएफ, टीएक्सटी या संलग्न कर सकते हैं दस्तावेज़ फ़ाइलआपके पत्र में।

स्क्रिप्ट सेट करना काफी सरल है, आपको केवल प्रेषक के डेटा, लॉगिन, पासवर्ड की आवश्यकता है ईमेलजिससे पत्र भेजे जाएंगे।

स्क्रिप्ट km_smtp_class.php वर्ग के साथ काम करती है, वर्ग अच्छा है क्योंकि यह विभिन्न एसएसएल और टीएलएस प्रोटोकॉल का समर्थन करता है जो सुरक्षित डेटा ट्रांसमिशन प्रदान करते हैं।

यहाँ स्क्रिप्ट ही है:

"smtp.mail.ru", "SMTP_port" => "25", "SMTP_email" => " [ईमेल संरक्षित]"," SMTP_pass "=>" 1111111 "," SMTP_type "=>" नल "); // प्राप्तकर्ता का ईमेल $ रिसीवर =" [ईमेल संरक्षित]"; // संदेश विषय $ विषय =" PHP से एक ईमेल भेजना "; // संदेश टेक्स्ट (एचटीएमएल में) $ टेक्स्ट = "नमस्ते!
स्क्रिप्ट से भेजा गया संदेश मोशोनसाइट: http: // साइट "; // पत्र में संलग्नक - फ़ाइल का पता $ अटैचमेंट =" "; / * $ मेल = नया KM_Mailer (सर्वर, पोर्ट, उपयोगकर्ता, पासवर्ड, प्रकार); * / * प्रकार हो सकता है: नल, टीएलएस या एसएसएल * / $ मेल = नया KM_Mailer ($ SenderConfig ["SMTP_server"], $ SenderConfig ["SMTP_port"], $ SenderConfig ["SMTP_email"], $ SenderConfig ["SMTP_pass"], $ SenderConfig ["SMTP_type"]); अगर ($ मेल-> isLogin) (// एक फ़ाइल संलग्न करें यदि ($ अटैचमेंट) ($ मेल-> ऐड अटैचमेंट ($ अटैचमेंट);) // अधिक प्राप्तकर्ता जोड़ें $ मेल-> ऐड प्राप्तकर्ता (" [ईमेल संरक्षित]"); $ मेल-> AddRecipient (" [ईमेल संरक्षित]"); / * $ मेल-> भेजें (से, के लिए, विषय, पाठ, शीर्षक = वैकल्पिक) * / $ SendMail = $ मेल-> भेजें ($ SenderConfig [" SMTP_email "], $ रिसीवर, $ विषय, $ पाठ ); // प्राप्तकर्ताओं की सूची साफ़ करें $ mail-> clearRecipients (); $ mail-> clearCC (); $ mail-> clearBCC (); $ mail-> clearAttachments ();) अन्य (गूंज "एक त्रुटि हुई जबकि एसएमटीपी सर्वर से कनेक्ट हो रहा है ";)?>

स्क्रिप्ट सेटिंग्स मुख्य रूप से $ SenderConfig सरणी पर आधारित होती हैं, यहां हमें SMTP निर्दिष्ट करना होगा: सर्वर, पोर्ट, उपयोगकर्ता नाम और पासवर्ड ई-मेल से। आइए सरणी की प्रत्येक कुंजी का वर्णन करें:

SMTP_server - SMTP सर्वर पता (विभिन्न मेल के लिए अलग-अलग पता)

Mail.ru मेल: smtp.mail.ru पोर्ट: 25, 587 और 465 (एसएसएल एन्क्रिप्शन के साथ)

यांडेक्स मेल: smtp.yandex.ru पोर्ट: 25, 587 465 (एसएसएल पोर्ट)

रामब्लर मेल: mail.rambler.ru पोर्ट: 25, 587 465 (एसएसएल पोर्ट)

Yahoo mail: smtp.mail.yahoo.com एसएसएल पोर्ट: 465

(यदि आपको एसएमटीपी सर्वर के पते की आवश्यकता है जो सूची में नहीं हैं - टिप्पणियों में लिखें)

SMTP_port - हमने प्रत्येक smtp सर्वर के लिए ऊपर से इसका वर्णन किया है।

SMTP_email - उपयोगकर्ता होना अधिक सटीक होगा, लेकिन स्पष्टता के लिए, मैंने एक ईमेल लिखा था, हम ईमेल पता इंगित करते हैं।

SMTP_pass - ईमेल से पासवर्ड जिसे SMTP_email कुंजी में मान के रूप में निर्दिष्ट किया गया था


SMTP_type - NULL डिफ़ॉल्ट रूप से। प्रोटोकॉल जिसके द्वारा पत्र भेजे जाएंगे। प्रोटोकॉल: एसएसएल और टीएलएस

पत्र के अनुलग्नकों को $ अनुलग्नक चर (/var/patch/to/file/File.pdf) में फ़ाइल का पूरा पता निर्दिष्ट करके बाजरा जोड़ा जा सकता है।

यदि आपके कोई प्रश्न हैं, तो उन्हें नीचे टिप्पणी में लिखें।



संबंधित आलेख: