Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में एसएमटीपी प्रोटोकॉल क्लाइंट (smtplib)


पायथन के मानक पुस्तकालय में 'smtplib' मॉड्यूल है जो एक SMTP क्लाइंट सत्र ऑब्जेक्ट को परिभाषित करता है जिसका उपयोग पायथन प्रोग्राम के माध्यम से मेल भेजने के लिए किया जा सकता है।

मेल सर्वर एक ऐसा एप्लिकेशन है जो इंटरनेट पर ई-मेल को हैंडल और डिलीवर करता है। आउटगोइंग मेल सर्वर एसएमटीपी, या सिंपल मेलट्रांसफर प्रोटोकॉल, सर्वर को लागू करते हैं जो ईमेल ट्रांसमिशन के लिए एक इंटरनेट मानक हैं।

इनकमिंग मेल सर्वर दो मुख्य प्रकारों में आते हैं। POP3, या डाकघर प्रोटोकॉल और IMAP, या इंटरनेट संदेश एक्सेस प्रोटोकॉल।

smptlib.SMTP()फ़ंक्शन

यह फ़ंक्शन SMTP वर्ग का ऑब्जेक्ट देता है। यह एक SMTP या ESMTP सर्वर से कनेक्शन को इनकैप्सुलेट और प्रबंधित करता है। इस फ़ंक्शन के हस्ताक्षर में निम्नलिखित तर्क परिभाषित किए गए हैं -

HELO/EHLO कमांड में
host
एक स्ट्रिंग जो रिमोट होस्ट का नाम है जिससे कनेक्ट करना है।
पोर्ट
एक संख्या जो उस पोर्ट को निर्दिष्ट करती है जिससे कनेक्ट करना है। डिफ़ॉल्ट रूप से, smtplib.SMTP_PORT का उपयोग किया जाता है।
local_hostname
स्थानीय होस्ट के FQDN के रूप में उपयोग किया जाता है।
source_address
एक 2-टुपल (होस्ट, पोर्ट) ऑब्जेक्ट जिससे सॉकेट को बांधना है

इसमें निम्नलिखित तरीके हैं जो SMTP संचालन का समर्थन करते हैं -

कनेक्ट () −

यह विधि किसी दिए गए पोर्ट पर होस्ट से कनेक्शन स्थापित करती है।

लॉगिन () −

यह फ़ंक्शन SMTP सर्वर में लॉगिन करने के लिए उपयोगकर्ता नाम और पासवर्ड तर्क लेता है।

छोड़ें () −

यह फ़ंक्शन SMTP सत्र को समाप्त करता है।

डेटा() −

इस फ़ंक्शन का 'संदेश' तर्क सर्वर को भेजा जाता है।

docmd ()−

यह फ़ंक्शन एक कमांड भेजता है और अपना प्रतिक्रिया कोड देता है

एहलो () −

यह फ़ंक्शन सर्वर की पहचान करता है।

starttls() −

यह फ़ंक्शन TLS मोड प्रारंभ करता है।

जवाब दें () −

यह फ़ंक्शन सर्वर से प्रतिक्रिया कोड के रूप में उत्तर प्राप्त करता है।

putcmd () −

यह फ़ंक्शन सर्वर को एक कमांड भेजता है।

send_message() −

यह फ़ंक्शन संदेश को एक बाइट स्ट्रिंग में परिवर्तित करता है और इसे मेल भेजने के लिए भेजता है।

मेल भेजें () −

यह आदेश एक संपूर्ण मेल लेनदेन करता है।

तर्क हैं -

from_addr
यह मेल भेजने वाला पता।
to_addrs
इस मेल को भेजने के लिए पतों की सूची।
msg
संदेश भेजना है।

नीचे दिया गया कोड ईमेल भेजने के लिए जीमेल के एसएमटीपी सर्वर का उपयोग करता है। SMTP ऑब्जेक्ट पोर्ट 527 पर gmail के smtp सर्वर का उपयोग करता है। ehlo() कमांड सर्वर की पहचान करता है। हम आउटगोइंग मेल संदेश के लिए ट्रांसपोर्ट लेयर सिक्योरिटी को भी सक्रिय करते हैं।

इसके बाद, लॉगिन () कमांड को क्रेडेंशियल्स को तर्क के रूप में पास करके लागू किया जाता है। अंत में मेल संदेश को निर्धारित प्रारूप में एक हेडर संलग्न करके इकट्ठा किया जाता है और इसे सेंडमेल () विधि का उपयोग करके भेजा जाता है। SMTP ऑब्जेक्ट बाद में बंद हो जाता है।

आयात करें .com'mail.login('[email protected]','m15v5l61')header='To:'+receipient+'\n'+' From:'\+sender+'\n'+'subject:testmail\n 'सामग्री =शीर्षलेख + सामग्रीमेल। भेजें मेल (प्रेषक, प्राप्तकर्ता, सामग्री) मेल। बंद करें ()


उपरोक्त स्क्रिप्ट चलाने से पहले, सुनिश्चित करें कि प्रेषक के जीमेल खाते को 'कम सुरक्षित ऐप्स' तक पहुंच प्रदान की गई है।

https://myaccount.google.com/lesssecureapps

दिखाए गए टॉगल बटन को चालू पर सेट करें.

पायथन में एसएमटीपी प्रोटोकॉल क्लाइंट (smtplib)

उपरोक्त सेटिंग करने के बाद उपरोक्त स्क्रिप्ट निष्पादित करें। संदेश प्राप्तकर्ता के इनबॉक्स में पहुंचा दिया जाना चाहिए।


  1. Python का उपयोग करके अपने Gmail खाते से मेल भेजें

    इस लेख में, हम देखेंगे कि हम पायथन का उपयोग करके अनुलग्नकों के साथ ईमेल कैसे भेज सकते हैं। मेल भेजने के लिए हमें किसी बाहरी पुस्तकालय की आवश्यकता नहीं होती है। SMTPlib नामक एक मॉड्यूल है, जो पायथन के साथ आता है। यह मेल भेजने के लिए SMTP (सिंपल मेल ट्रांसफर प्रोटोकॉल) का उपयोग करता है। यह मेल करने के

  1. एसएमटीपी मेल भेजने के लिए वर्डप्रेस को कैसे कॉन्फ़िगर करें

    वर्डप्रेस, अपने सभी गुणों के लिए जो आपको आसानी से एक वेब उपस्थिति डिजाइन करने की अनुमति देता है, अभी भी कुछ क्षेत्रों में कठिनाइयाँ हैं। समस्याग्रस्त मुद्दों में से एक ईमेल भेजने के लिए एसएमटीपी का उपयोग है। यह विशेष रूप से परेशानी भरा है यदि आप WooCommerce प्लेटफॉर्म प्लगइन के माध्यम से आइटम बेच रह

  1. आउटलुक को डिफ़ॉल्ट मेल क्लाइंट के रूप में कैसे सेट करें

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