Computer >> कंप्यूटर >  >> सॉफ्टवेयर >> मेल

पायथन में स्वचालित ईमेल संदेश कैसे भेजें

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

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

यह जानने के लिए पढ़ें कि आप आज अपनी मशीन पर चल रहे ईमेल भेजने के लिए पायथन स्क्रिप्ट कैसे प्राप्त कर सकते हैं।

SMTP क्या है?

सीधे शब्दों में कहें तो, एसएमटीपी, या सिंपल मेल ट्रांसफर प्रोटोकॉल, मेल सर्वर के लिए इंटरनेट पर ईमेल संचारित करने के लिए एक संचार प्रोटोकॉल है।

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

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

प्रारंभ करना

इस प्रोग्राम का उपयोग करके ईमेल भेजने के लिए उपयोग करने के लिए आपके पास एक ईमेल खाता होना चाहिए। ऐसा इसलिए है क्योंकि हम ईमेल भेजने के लिए ईमेल क्लाइंट की SMTP सेवा का उपयोग करेंगे। इस ट्यूटोरियल के लिए, हम Gmail का उपयोग करेंगे।

आप परीक्षण ईमेल भेजने के लिए एक स्थानीय एसएमटीपी डिबगिंग सर्वर का भी उपयोग कर सकते हैं, लेकिन अभी के लिए हम ईमेल भेजने के लिए एक ईमेल खाते का उपयोग करेंगे क्योंकि यह अधिक सहज है।

केवल मौजूदा Gmail खाते का उपयोग करना संभव है, लेकिन जैसे-जैसे आप अपने कार्यक्रम के साथ खिलवाड़ करते हैं, यह जल्द ही परीक्षण ईमेल से भर सकता है। यही कारण है कि हम परीक्षण के उद्देश्य से एक 'थ्रोअवे' खाता बनाने की सलाह देते हैं।

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

ईमेल को Python में लिखना

Python 3 smtplib (smtp लाइब्रेरी के लिए छोटा) नामक मॉड्यूल के साथ पहले से इंस्टॉल आता है, जिसका उपयोग SMTP सर्वर के साथ काम करने के लिए किया जा सकता है।

किसी भी अन्य पायथन मॉड्यूल की तरह, आपको सबसे पहले smtplib आयात करना होगा।

import smtplib

SMTP ऑब्जेक्ट को इनिशियलाइज़ करना

अब, आप SMTP ऑब्जेक्ट बनाने के लिए smtplib का उपयोग कर सकते हैं, जो आपको पारंपरिक ईमेल क्लाइंट की अधिकांश कार्यक्षमता प्रदान करेगा। हालाँकि, एक SMTP ऑब्जेक्ट के फ़ंक्शंस का उपयोग केवल इंस्टेंस विधियों के माध्यम से किया जा सकता है। तो, स्वाभाविक रूप से, अगला कदम ऑब्जेक्ट इंस्टेंस घोषित करना है।

mySMTP = smtplib.SMTP("smtp.google.com") 

यह SMTP ऑब्जेक्ट को Google के SMTP सर्वर का उपयोग करके ईमेल भेजने के लिए कॉन्फ़िगर करता है।

इसके बाद, हम प्रेषक और प्राप्तकर्ता ईमेल निर्दिष्ट करते हैं। यहां वह जगह है जहां आपने पहले बनाया जीमेल खाता काम में आता है।

emailSender = “senderMail@sender.com”
myThroaway = "myEmail@gmail.com"
emailRecipients = [myThroaway]

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

संदेश लिखना

यकीनन इस प्रक्रिया का सबसे सीधा हिस्सा है, यहां आपको उन मानों को इनपुट करना होगा जो आप एक नया ईमेल लिखते समय सामान्य रूप से जोड़ते हैं। इसमें शामिल हैं:

  • प्रेषक का विवरण
  • प्राप्तकर्ता का विवरण
  • विषय
  • संदेश का मुख्य भाग

इन क्षेत्रों को ट्रिपल-उद्धरण चिह्नों के अंदर एक साथ रखा जाता है और निम्नानुसार सीमांकित किया जाता है:

newEmail = """From: From Person <senderMail@sender.com>
To: To Person <my_email@gmail.com>
Subject: Email Test
This is the body of the email.
"""

ईमेल भेजना

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

mySMTP.sendmail(emailSender, emailRecipients, newEmail)

अब, केवल एक अंतिम चरण है:किसी भी संभावित प्रोग्राम क्रैश को रोकने के लिए कोड को फिर से व्यवस्थित करना।

अपने पायथन ईमेल प्रोग्राम का समस्या निवारण

कभी-कभी, आपका एसएमटीपी सर्वर प्राप्तकर्ता के साथ संबंध स्थापित करने में विफल हो सकता है, या एक एसएमटीपी पोर्ट से दूसरे में ईमेल भेजने में कोई समस्या हो सकती है। ऐसी स्थिति में, आपका प्रोग्राम अप्रत्याशित रूप से क्रैश हो सकता है।

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

import smtplib
emailSender = “senderMail@sender.com”
myThroaway = ‘my_email@gmail.com’
emailRecipients = [myThroaway]
newEmail = """From: From Person <senderMail@sender.com>
To: To Person <my_email@gmail.com>
Subject: Email Test
This is the body of the email.
"""
try:
smtpObj = smtplib.SMTP(‘smtp.gmail.com’)
mySMTP.sendmail(emailSender, emailRecipients, newEmail)
print (“Email sent successfully!”)
except SMTPException:
print ("Error: There was an error in sending your email.")

अपने ईमेल सुरक्षित करना

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

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

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

पायथन में स्वचालित ईमेल संदेश कैसे भेजें

ऐसा करने के लिए, हमें पहले बनाए गए प्रोग्राम में कुछ मामूली बदलाव करने होंगे।

बेशक, पहला कदम ssl . आयात करना है smtplib . के साथ पुस्तकालय . एसएसएल पुस्तकालय आपको एक सुरक्षित एसएसएल संदर्भ बनाने और दोनों सिरों पर विशिष्ट बंदरगाहों से कनेक्ट करके एक एन्क्रिप्टेड नेटवर्क पर संचार करने की क्षमता देता है।

एक सुरक्षित एसएसएल संदर्भ सिफर, प्रोटोकॉल संस्करण, विश्वसनीय प्रमाणपत्र, टीएलएस विकल्प और टीएलएस एक्सटेंशन के संग्रह के अलावा और कुछ नहीं है।

इसके बाद, हम TLS पोर्ट निर्दिष्ट कर सकते हैं और कुछ ssl . जोड़ सकते हैं एक सुरक्षित ईमेलर बनाने के लिए पुस्तकालय कार्य करता है।

किए गए सभी परिवर्तनों के साथ कोड कुछ इस तरह दिखता है:

import smtplib, ssl
smtpServer = "smtp.gmail.com"
port = 587
myEmail = "my_email@gmail.com"
password = "my_password"
#email and password can also be user input fields
context = ssl.create_default_context()
newEmail = """From: From Person <senderMail@sender.com>
To: To Person <my_email@gmail.com>
Subject: Email Test
This is the body of the email.
"""
try:
server = smtplib.SMTP(smtpServer,port)
server.starttls(context=context)
server.login(newEmail, password)
except Exception as e:
print("the email could not be sent.")
finally:
server.quit()

पहले की तरह, किसी भी अचानक प्रोग्राम क्रैश को रोकने के लिए आपको कोशिश-छोड़कर ब्लॉक में SMTP इंस्टेंस बनाना और उपयोग करना चाहिए।

आप इस पायथन स्क्रिप्ट के साथ क्या कर सकते हैं

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

इसे अपनी निजी वेबसाइट पर उपयोग करने से लेकर स्वचालित पावती ईमेल भेजने तक, इसका उपयोग करने के लिए क्रिसमस कार्ड या अपने परिवार और दोस्तों को निमंत्रण भेजने के लिए, इस छोटी पायथन लिपि के उपयोग केवल आपकी अपनी रचनात्मकता से ही सीमित हैं।

साथ ही, यह उन कई शानदार कामों में से एक है जो आप Python के साथ कर सकते हैं। इसके सर्वव्यापक डेवलपर समर्थन और सीखने में आसान सिंटैक्स के साथ, Python कौशल को चुनना इतना आसान कभी नहीं रहा।

कोड के साथ बढ़िया चीज़ें बनाना जारी रखने के लिए, Python 3 के साथ अपना टेलीग्राम बॉट बनाने के तरीके के बारे में हमारी मार्गदर्शिका देखें!


  1. Microsoft Teams चैनल को ईमेल कैसे भेजें

    जब आप घर से काम करते हैं तो Microsoft Teams अपने सहकर्मियों के साथ संदेश भेजने और अपनी परियोजनाओं पर त्वरित प्रतिक्रिया प्राप्त करने का एक शानदार तरीका है। Microsoft Teams आपको अपने Teams चैनल में अपने सहकर्मियों के साथ चित्र, वीडियो, दस्तावेज़ और यहां तक ​​कि आपके संपूर्ण डेस्कटॉप को साझा करने देता

  1. Instagram पर ध्वनि संदेश कैसे भेजें?

    इंस्टाग्राम एक सोशल मीडिया प्लेटफॉर्म है जो अपने यूजर्स को एक विस्तृत नेटवर्क प्रदान करता है। आप अपने कसरत के छोटे वीडियो पोस्ट करना चाहते हैं, फिटनेस टिप्स प्रदान करना चाहते हैं, अपने उत्पादों का विज्ञापन करना चाहते हैं या बस अपने दोस्तों से जुड़ना चाहते हैं Instagram यह सब करता है। सोशल मीडिया की

  1. अनाम रूप से ईमेल कैसे भेजें

    जबकि बाजार जीमेल, आउटलुक, याहू! मेल, जिसका स्वामित्व कुछ सबसे प्रतिष्ठित इंटरनेट कंपनियों के पास है। जब ऑनलाइन गोपनीयता की बात आती है तो कई उपयोगकर्ता अभी भी सुरक्षित महसूस नहीं करते हैं क्योंकि ये सभी प्लेटफ़ॉर्म उपयोगकर्ताओं की जासूसी करने और उनकी अन्य ऑनलाइन गतिविधियों को ट्रैक करने के लिए अपनी प