जबकि वाणिज्यिक ईमेल क्लाइंट एक उपयोगकर्ता के अनुकूल जीयूआई की सुविधा प्रदान करते हैं, उनके पास अक्सर कमी होती है लचीलापन और अनुकूलनशीलता जो कई डेवलपर्स या सामग्री निर्माता अपनी ईमेलिंग की इच्छा रखते हैं की जरूरत है।
अपने सोशल मीडिया चैनल पर नए सब्सक्राइबर को ईमेल भेजने या ईमेल की कार्यक्षमता जोड़ने के लिए धन्यवाद आपकी नवीनतम परियोजना, पायथन में SMTP का उपयोग करके स्वचालित संदेश भेजने की क्षमता कुछ ऐसी है जो इसमें आने के लिए बाध्य है काम।
आज यह जानने के लिए पढ़ें कि आप अपने मशीन पर चल रहे ईमेल भेजने के लिए पायथन स्क्रिप्ट कैसे प्राप्त कर सकते हैं।
SMTP क्या है?
इसे सीधे शब्दों में कहें तो एसएमटीपी या सिंपल मेल ट्रांसफर प्रोटोकॉल, इंटरनेट पर ईमेल संचारित करने के लिए मेल सर्वर के लिए एक संचार प्रोटोकॉल है।
यह टीसीपी / आईपी सूट के अनुप्रयोग परत का एक अभिन्न हिस्सा है, जो कि इंटरनेट या अन्य समान नेटवर्क पर संचार के लिए उपयोग किए जाने वाले प्रोटोकॉल का एक सेट है। एक नेटवर्क में जहां एसएमटीपी लागू किया जाता है, एक प्रक्रिया के रूप में जाना जाता है संरक्षित और अग्रसारित नेटवर्क में मेल को स्थानांतरित करने में मदद करता है।
प्रत्येक समापन बिंदु पर, मेल ट्रांसफर एजेंट (एमटीए) के रूप में जाना जाने वाला सॉफ़्टवेयर प्रतिभागी एसएमटीपी सर्वरों के बीच संचार की सुविधा के लिए स्टोर और फॉरवर्ड का उपयोग करता है। इसलिए एसएमटीपी की मुख्य भूमिका केवल यह तय करना है कि नेटवर्क में एक बिंदु से दूसरे बिंदु पर मेल कहां और कैसे चलती है।
शुरू करना
इस कार्यक्रम का उपयोग करके ईमेल भेजने के लिए आपके पास एक ईमेल खाता होना चाहिए। ऐसा इसलिए है क्योंकि हम ईमेल भेजने के लिए ईमेल क्लाइंट की SMTP सेवा का उपयोग करेंगे। इस ट्यूटोरियल के लिए, हम जीमेल का उपयोग करेंगे।
आप परीक्षण ईमेल भेजने के लिए एक स्थानीय SMTP डिबगिंग सर्वर का भी उपयोग कर सकते हैं, लेकिन अब हम ईमेल भेजने के लिए ईमेल का उपयोग करते हैं क्योंकि यह अधिक सहज है।
बस मौजूदा जीमेल खाते का उपयोग करना संभव है, लेकिन जैसा कि आप अपने कार्यक्रम के साथ खेलते हैं, यह जल्द ही परीक्षण ईमेल से भर सकता है। यही कारण है कि हम परीक्षण के उद्देश्य के लिए away थ्रोअवे ’खाता बनाने की सलाह देते हैं।
अब, विकल्प को चालू करें कम सुरक्षित ऐप्स की अनुमति दें अपने Gmail खाते तक पहुँचने के लिए। यह एक अन्य ईमेल का उपयोग करने का एक और कारण है क्योंकि इसे आपके प्राथमिक ईमेल की गोपनीयता सेटिंग्स के साथ खेलने की अनुशंसा नहीं की जाती है।
अजगर में ईमेल लिखना
पायथन 3 smtplib (smtp लाइब्रेरी के लिए संक्षिप्त) नामक एक मॉड्यूल के साथ पूर्व-स्थापित आता है, जिसका उपयोग SMTP सर्वर के साथ काम करने के लिए किया जा सकता है।
किसी भी अन्य पायथन मॉड्यूल की तरह, पहली चीज जो आपको करनी है वह है smtplib आयात करना।
आयात smtplib
SMTP ऑब्जेक्ट को प्रारंभ करना
अब, आप SMTP ऑब्जेक्ट बनाने के लिए smtplib का उपयोग कर सकते हैं, जो आपको एक पारंपरिक ईमेल क्लाइंट की अधिकांश कार्यक्षमता प्रदान करेगा। हालाँकि, SMTP ऑब्जेक्ट के फ़ंक्शंस का उपयोग केवल उदाहरण के तरीकों के माध्यम से किया जा सकता है। तो, स्वाभाविक रूप से, अगला कदम एक वस्तु उदाहरण घोषित करना है।
mySMTP = smtplib। SMTP ("smtp.google.com")
यह Google के SMTP सर्वर का उपयोग करके ईमेल भेजने के लिए SMTP ऑब्जेक्ट को कॉन्फ़िगर करता है।
इसके बाद, हम प्रेषक और प्राप्तकर्ता ईमेल निर्दिष्ट करते हैं। यहाँ वह जगह है जहाँ आपके द्वारा पहले बनाया गया जीमेल खाता काम आता है।
emailSender = "प्रेषकमेल @ sender.com"
myThroaway = "[email protected]"
emailRecipients = [myThroaway]
यहां एक बात ध्यान देने वाली है कि प्राप्तकर्ता सूची वास्तव में एक सरणी है, जिसका अर्थ है कि यह गैर-परमाणु मूल्यों को संग्रहीत करने के लिए डिज़ाइन की गई है। परिणामस्वरूप, आप इस क्षेत्र में संपूर्ण मेलिंग सूची भी निर्दिष्ट कर सकते हैं!
संदेश लिखना
संभवतः प्रक्रिया का सबसे सीधा हिस्सा, यहाँ आपको ऐसे इनपुट मान देने होंगे जो आप एक नया ईमेल बनाते समय सामान्य रूप से जोड़ते हैं। यह भी शामिल है:
- प्रेषक का विवरण
- प्राप्तकर्ता का विवरण
- विषय
- संदेश का मुख्य हिस्सा
इन क्षेत्रों को ट्रिपल-उद्धरण चिह्नों के अंदर रखा जाता है और निम्नानुसार सीमांकित किया जाता है:
newEmail = से: व्यक्ति से
टू: पर्सन
विषय: ईमेल टेस्ट
यह ईमेल का मुख्य भाग है।
ईमेल भेजना
अंत में, हम आपके एसएमटीपी सर्वर से प्राप्तकर्ता के सर्वर पर मेल भेजने के लिए सेंडमेल कमांड का उपयोग कर सकते हैं।
mySMTP.sendmail (emailSender, emailRecipients, newEmail)
अब, केवल एक अंतिम चरण है: किसी भी प्रोग्राम योग्य प्रोग्राम क्रैश को रोकने के लिए कोड को फिर से व्यवस्थित करना।
समस्या निवारण आपका पायथन ईमेल प्रोग्राम
कभी-कभी, आपका SMTP सर्वर प्राप्तकर्ता के साथ संबंध स्थापित करने में विफल हो सकता है, या एक SMTP पोर्ट से दूसरे में एक ईमेल भेजने के साथ कोई समस्या हो सकती है। ऐसी घटना में, आपका कार्यक्रम अप्रत्याशित रूप से दुर्घटनाग्रस्त हो सकता है।
ऐसी संभावनाओं के लिए, आप एक का उपयोग कर सकते हैं कोशिश-सिवाय ब्लॉक करें और त्रुटि-प्रवण कथनों को अंदर डालें प्रयत्न खंड मैथा। आपका पूरा कार्यक्रम, कोशिश करने वाले ब्लॉक को छोड़कर, कुछ इस तरह दिखना चाहिए:
आयात smtplib
emailSender = "प्रेषकमेल @ sender.com"
myThroaway = _ [email protected] '
emailRecipients = [myThroaway]
newEmail = से: व्यक्ति से
टू: पर्सन
विषय: ईमेल टेस्ट
यह ईमेल का मुख्य भाग है।
प्रयत्न:
smtpObj = smtplib। SMTP (TP smtp.gmail.com ’)
mySMTP.sendmail (emailSender, emailRecipients, newEmail)
प्रिंट ("ईमेल सफलतापूर्वक भेजा गया!")
सिवाय SMTPException के:
प्रिंट ("त्रुटि: आपका ईमेल भेजने में एक त्रुटि थी।")
अपने ईमेल सुरक्षित
यदि आप ईमेल भेजने के लिए एक वास्तविक दुनिया सेटिंग में पायथन का उपयोग करने का इरादा रखते हैं, तो यह सुनिश्चित करना महत्वपूर्ण है कि संचार दोनों सिरों पर सुरक्षित है।
डिफ़ॉल्ट पोर्ट के साथ एक सरल SMTP सर्वर का उपयोग संचार के लिए कोई एन्क्रिप्शन परत प्रदान नहीं करता है। इसका अर्थ है कि यदि कोई तृतीय-पक्ष आपके नेटवर्क पर सुन रहा है, तो यह आपके लॉगिन क्रेडेंशियल और आपके ईमेल में निहित जानकारी तक पहुंच सकता है।
इस समस्या को दरकिनार करने का एक तरीका यह है कि आप अपने संचार को एन्क्रिप्ट करने के लिए टीएलएस (ट्रांसपोर्ट लेयर सिक्योरिटी) प्रोटोकॉल का उपयोग करें। यह एक ही प्रोटोकॉल है जिसका उपयोग प्रमुख ईमेल क्लाइंट जैसे जीमेल और आउटलुक द्वारा किया जाता है ताकि यह सुनिश्चित किया जा सके कि आपका ईमेल कभी गलत हाथों में न आए।
ऐसा करने के लिए, हमें पहले बनाए गए कार्यक्रम में कुछ छोटे बदलाव करने होंगे।
बेशक, पहला कदम आयात करना है एसएसएल साथ में पुस्तकालय smtplib. एसएसएल पुस्तकालय आपको एक सुरक्षित एसएसएल संदर्भ बनाने और दोनों छोरों पर विशिष्ट बंदरगाहों से कनेक्ट करके एक एन्क्रिप्टेड नेटवर्क पर संचार करने की क्षमता देता है।
एक सुरक्षित एसएसएल संदर्भ सिफर, प्रोटोकॉल संस्करण, विश्वसनीय प्रमाण पत्र, टीएलएस विकल्प और टीएलएस एक्सटेंशन के संग्रह के अलावा कुछ भी नहीं है।
इसके बाद, हम टीएलएस पोर्ट को निर्दिष्ट कर सकते हैं और कुछ में जोड़ सकते हैं एसएसएल पुस्तकालय एक सुरक्षित ईमेल बनाने के लिए कार्य करता है।
सभी परिवर्तनों के साथ कोड, कुछ इस तरह दिखता है:
आयात smtplib, ssl
smtpServer = "smtp.gmail.com"
पोर्ट = 587
myEmail = "[email protected]"
पासवर्ड = "my_password"
# मेल और पासवर्ड उपयोगकर्ता इनपुट फ़ील्ड भी हो सकते हैं
संदर्भ = ssl.create_default_context ()
newEmail = से: व्यक्ति से
टू: पर्सन
विषय: ईमेल टेस्ट
यह ईमेल का मुख्य भाग है।
प्रयत्न:
सर्वर = smtplib। SMTP (smtpServer, port)
server.starttls (संदर्भ = संदर्भ)
server.login (newEmail, पासवर्ड)
अपवाद को छोड़कर e:
प्रिंट ("ईमेल नहीं भेजा जा सका।")
आखिरकार:
server.quit ()
पहले की तरह, आपको किसी भी अचानक प्रोग्राम क्रैश को रोकने के लिए एक प्रयास को छोड़कर ब्लॉक में SMTP उदाहरण का निर्माण और उपयोग करना चाहिए।
आप इस पायथन स्क्रिप्ट के साथ क्या कर सकते हैं
अब जब आपने कोड का उपयोग करके ईमेल को स्वचालित करने का भयानक और आश्चर्यजनक रूप से उपयोगी कौशल उठाया है, तो आप इसे किसी भी प्लेटफ़ॉर्म पर लागू कर सकते हैं, जिसे विविध मेलिंग सूची में ईमेल भेजने की आवश्यकता होती है।
क्रिसमस कार्ड ईमेल करने के लिए इसका उपयोग करने के लिए स्वचालित पावती ईमेल भेजने के लिए अपनी व्यक्तिगत वेबसाइट पर इसका उपयोग करने से या अपने परिवार और दोस्तों को निमंत्रण, इस छोटे से पायथन लिपि के उपयोग केवल आपके द्वारा ही सीमित हैं रचनात्मकता।
इसके अलावा, यह कई भयानक चीजों में से एक है जो आप पायथन के साथ कर सकते हैं। अपने सर्वव्यापी डेवलपर समर्थन और आसानी से सीखने वाले सिंटैक्स के साथ, पायथन कौशल को चुनना कभी आसान नहीं रहा है।
कोड के साथ शांत चीजों का निर्माण जारी रखने के लिए, हमारे गाइड को देखें कि कैसे करना है अपने बहुत ही टेलीग्राम बॉट का निर्माण पायथन 3 के साथ करें!
पायथन, आर्टिफिशियल इंटेलिजेंस, केरस, प्योरच, और अधिक पर अपनी प्रोग्रामिंग और वेब विकास कौशल को अपग्रेड करें
- प्रोग्रामिंग
- जीमेल लगीं
- ईमेल टिप्स
- अजगर
- कार्य स्वचालन
यश एक आकांक्षी कंप्यूटर विज्ञान का छात्र है जो चीजों का निर्माण करना और सभी चीजों के बारे में लिखना पसंद करता है। अपने खाली समय में, वह स्क्वैश खेलना पसंद करते हैं, नवीनतम मुराकामी की एक प्रति पढ़ते हैं, और स्किरिम में ड्रेगन का शिकार करते हैं।
हमारे न्यूज़लेटर की सदस्यता लें
टेक टिप्स, समीक्षा, मुफ्त ईबुक और विशेष सौदों के लिए हमारे न्यूज़लेटर में शामिल हों!
एक और कदम…!
कृपया हमें आपके द्वारा भेजे गए ईमेल में अपने ईमेल पते की पुष्टि करें।