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

Python का उपयोग करके अपने Gmail अकाउंट से अटैचमेंट के साथ मेल भेजें

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

SMTP को वैलिड सोर्स और डेस्टिनेशन ईमेल आईडी, और पोर्ट नंबर्स की आवश्यकता होती है। पोर्ट नंबर अलग-अलग साइट्स के लिए भिन्न होता है। उदाहरण के लिए, गूगल के लिए पोर्ट 587 है।

सबसे पहले हमें मेल भेजने के लिए मॉड्यूल इम्पोर्ट करना होगा।

import smtplib

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

हम गूगल की Gmail सर्विस का उपयोग करके मेल भेज रहे हैं। इसलिए हमें गूगल की सुरक्षा उद्देश्यों के लिए कुछ सेटिंग्स (यदि आवश्यक हो) की आवश्यकता है। यदि वे सेटिंग्स सेट अप नहीं हैं, तो निम्न कोड काम नहीं कर सकता है, यदि गूगल थर्ड-पार्टी ऐप से एक्सेस का समर्थन नहीं करता है।

एक्सेस की अनुमति देने के लिए, हमें गूगल अकाउंट में 'Less Secure App Access' सेटिंग्स सेट करने की आवश्यकता है। यदि टू-स्टेप वेरिफिकेशन चालू है, तो हम कम सिक्योर एक्सेस का उपयोग नहीं कर सकते।

यह सेटअप पूरा करने के लिए, गूगल के एडमिन कंसोल पर जाएं, और Less Secure App सेटअप खोजें।

Python का उपयोग करके अपने Gmail अकाउंट से अटैचमेंट के साथ मेल भेजें

SMTP (smtplib) का उपयोग करके अटैचमेंट्स के साथ मेल भेजने के चरण

  • MIME बनाएं
  • MIME में सेंडर, रिसीवर एड्रेस जोड़ें
  • MIME में मेल शीर्षक जोड़ें
  • MIME में बॉडी अटैच करें
  • जो फ़ाइल मेल के साथ अटैच की जानी है, उसे बाइनरी मोड में खोलें
  • बाइट स्ट्रीम पढ़ें और अटैचमेंट को base64 एन्कोडिंग स्कीम का उपयोग करके एन्कोड करें
  • अटैचमेंट्स के लिए हेडर जोड़ें
  • उचित सुरक्षा फीचर्स के साथ वैलिड पोर्ट नंबर के साथ SMTP सेशन शुरू करें
  • सिस्टम में लॉगिन करें
  • मेल भेजें और बाहर निकलें

उदाहरण कोड

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders

mail_content = '''Hello,
This is a test mail.
In this mail we are sending some attachments.
The mail is sent using Python SMTP library.
Thank You'''

# मेल एड्रेस और पासवर्ड
sender_address = 'sender123@gmail.com'
sender_pass = 'xxxxxxxx'
receiver_address = 'receiver567@gmail.com'

# MIME सेटअप करें
message = MIMEMultipart()
message['From'] = sender_address
message['To'] = receiver_address
message['Subject'] = 'A test mail sent by Python. It has an attachment.'

# मेल के लिए बॉडी और अटैचमेंट्स
message.attach(MIMEText(mail_content, 'plain'))
attach_file_name = 'TP_python_prev.pdf'
attach_file = open(attach_file_name, 'rb')  # बाइनरी मोड में फ़ाइल खोलें
payload = MIMEBase('application', 'octate-stream')
payload.set_payload((attach_file).read())
encoders.encode_base64(payload)  # अटैचमेंट एन्कोड करें
# फ़ाइलनाम के साथ पेलोड हेडर जोड़ें
payload.add_header('Content-Disposition', 'attachment', filename=attach_file_name)
message.attach(payload)

# मेल भेजने के लिए SMTP सेशन बनाएं
session = smtplib.SMTP('smtp.gmail.com', 587)
session.starttls()  # सिक्योरिटी इनेबल करें
session.login(sender_address, sender_pass)  # मेल आईडी और पासवर्ड से लॉगिन
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
Python का उपयोग करके अपने Gmail अकाउंट से अटैचमेंट के साथ मेल भेजें
  1. Vue.js में EmailJS का उपयोग करके संपर्क फ़ॉर्म ईमेल भेजें – चरण-दर-चरण मार्गदर्शिका Vue.js में EmailJS का उपयोग करके संपर्क फ़ॉर्म ईमेल भेजें – चरण-दर-चरण मार्गदर्शिका

    कुछ दिन पहले मैंने एक साधारण Vue प्रोजेक्ट पर काम करने का फैसला किया और एक संपर्क फ़ॉर्म के माध्यम से ईमेल भेजने की आवश्यकता थी जिसे मैंने अभी बनाया था। मैं हर बार एक स्वचालित ईमेल प्राप्त करना चाहता था जब कोई मेरा संपर्क फ़ॉर्म भरता था। तो मैंने खोज शुरू की और EmailJS पर ठोकर खाई। मैंने यह लेख लिख

  1. Gmail के  Message Not Delivered  त्रुटि को कैसे ठीक करें जब  Send Mail As  उपनाम का उपयोग कर रहे हों Gmail के 'Message Not Delivered' त्रुटि को कैसे ठीक करें जब 'Send Mail As' उपनाम का उपयोग कर रहे हों

    Gmail त्रुटि संदेश Message not delivered. Youre sending this from a different address or alias using the Send mail as feature, का अर्थ है कि आपने उस अतिरिक्त ईमेल खाते को गलत तरीके से सेट अप किया है जिसका उपयोग आप ईमेल भेजने के लिए कर रहे थे। GMAIL आपको अपने से संबंधित एक अलग ईमेल पते का उपयोग करके

  1. अन्य गूगल सेवाएं खोए बिना जीमेल अकाउंट डिलीट करने की चरण-दर-चरण गाइड अन्य गूगल सेवाएं खोए बिना जीमेल अकाउंट डिलीट करने की चरण-दर-चरण गाइड

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