पायथन के मानक पुस्तकालय में 'smtplib' मॉड्यूल है जो एक SMTP क्लाइंट सत्र ऑब्जेक्ट को परिभाषित करता है जिसका उपयोग पायथन प्रोग्राम के माध्यम से मेल भेजने के लिए किया जा सकता है।
मेल सर्वर एक ऐसा एप्लिकेशन है जो इंटरनेट पर ई-मेल को हैंडल और डिलीवर करता है। आउटगोइंग मेल सर्वर एसएमटीपी, या सिंपल मेलट्रांसफर प्रोटोकॉल, सर्वर को लागू करते हैं जो ईमेल ट्रांसमिशन के लिए एक इंटरनेट मानक हैं।
इनकमिंग मेल सर्वर दो मुख्य प्रकारों में आते हैं। POP3, या डाकघर प्रोटोकॉल और IMAP, या इंटरनेट संदेश एक्सेस प्रोटोकॉल।
smptlib.SMTP()फ़ंक्शन
यह फ़ंक्शन SMTP वर्ग का ऑब्जेक्ट देता है। यह एक SMTP या ESMTP सर्वर से कनेक्शन को इनकैप्सुलेट और प्रबंधित करता है। इस फ़ंक्शन के हस्ताक्षर में निम्नलिखित तर्क परिभाषित किए गए हैं -
host | एक स्ट्रिंग जो रिमोट होस्ट का नाम है जिससे कनेक्ट करना है। |
पोर्ट | एक संख्या जो उस पोर्ट को निर्दिष्ट करती है जिससे कनेक्ट करना है। डिफ़ॉल्ट रूप से, smtplib.SMTP_PORT का उपयोग किया जाता है। |
local_hostname | HELO/EHLO कमांड में स्थानीय होस्ट के 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
दिखाए गए टॉगल बटन को चालू पर सेट करें.
उपरोक्त सेटिंग करने के बाद उपरोक्त स्क्रिप्ट निष्पादित करें। संदेश प्राप्तकर्ता के इनबॉक्स में पहुंचा दिया जाना चाहिए।