इस लेख में, हम देखेंगे कि हम पायथन का उपयोग करके अनुलग्नकों के साथ ईमेल कैसे भेज सकते हैं। मेल भेजने के लिए हमें किसी बाहरी पुस्तकालय की आवश्यकता नहीं होती है। SMTPlib नामक एक मॉड्यूल है, जो पायथन के साथ आता है। यह मेल भेजने के लिए SMTP (सिंपल मेल ट्रांसफर प्रोटोकॉल) का उपयोग करता है। यह मेल करने के लिए SMTP क्लाइंट सेशन ऑब्जेक्ट बनाता है।
एसएमटीपी को वैध स्रोत और गंतव्य ईमेल आईडी, और पोर्ट नंबर की आवश्यकता है। विभिन्न साइटों के लिए पोर्ट संख्या भिन्न होती है। उदाहरण के तौर पर, Google के लिए पोर्ट 587 है ।
सबसे पहले हमें मेल भेजने के लिए मॉड्यूल आयात करना होगा।
import smtplib
यहां हम इसे और अधिक लचीला बनाने के लिए MIME (बहुउद्देशीय इंटरनेट मेल एक्सटेंशन) मॉड्यूल का भी उपयोग कर रहे हैं। MIME हेडर का उपयोग करके, हम प्रेषक और रिसीवर की जानकारी और कुछ अन्य विवरण संग्रहीत कर सकते हैं।
हम मेल भेजने के लिए Google की Gmail सेवा का उपयोग कर रहे हैं। इसलिए हमें Google के सुरक्षा उद्देश्यों के लिए कुछ सेटिंग्स (यदि आवश्यक हो) की आवश्यकता है। अगर उन सेटिंग्स को सेट नहीं किया जाता है, तो निम्न कोड काम नहीं कर सकता है, अगर Google तृतीय-पक्ष ऐप से एक्सेस का समर्थन नहीं करता है।
एक्सेस की अनुमति देने के लिए, हमें Google खाते में 'कम सुरक्षित ऐप एक्सेस' सेटिंग सेट करने की आवश्यकता है। यदि दो चरणों में सत्यापन चालू है, तो हम कम सुरक्षित पहुंच का उपयोग नहीं कर सकते।
इस सेटअप को पूरा करने के लिए, Google के Admin Console पर जाएं, और कम सुरक्षित ऐप सेटअप खोजें।
<केंद्र>
SMTP (smtplib) का उपयोग करके अनुलग्नकों के साथ मेल भेजने के चरण
- MIME बनाएं
- MIME में प्रेषक, प्राप्तकर्ता का पता जोड़ें
- मेल शीर्षक को MIME में जोड़ें
- शरीर को MIME में संलग्न करें
- उचित सुरक्षा सुविधाओं के साथ मान्य पोर्ट नंबर के साथ SMTP सत्र प्रारंभ करें।
- सिस्टम में लॉगिन करें।
- मेल भेजें और बाहर निकलें
उदाहरण कोड
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
mail_content = '''Hello,
This is a simple mail. There is only text, no attachments are there The mail is sent using Python SMTP library.
Thank You
' ' '
#The mail addresses and password
sender_address = 'sender123@gmail.com'
sender_pass = 'xxxxxxxx'
receiver_address = 'receiver567@gmail.com'
#Setup the MIME
message = MIMEMultipart()
message['From'] = sender_address
message['To'] = receiver_address
message['Subject'] = 'A test mail sent by Python. It has an attachment.' #The subject line
#The body and the attachments for the mail
message.attach(MIMEText(mail_content, 'plain'))
#Create SMTP session for sending the mail
session = smtplib.SMTP('smtp.gmail.com', 587) #use gmail with port
session.starttls() #enable security
session.login(sender_address, sender_pass) #login with mail_id and password
text = message.as_string()
session.sendmail(sender_address, receiver_address, text)
session.quit()
print('Mail Sent')
आउटपुट
D:\Python TP\Python 450\linux>python 327.Send_Mail.py Mail Sent
<केंद्र>