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

पायथन में SMTP प्रोटोकॉल क्लाइंट (smtplib मॉड्यूल)

पायथन की स्टैंडर्ड लाइब्रेरी में 'smtplib' मॉड्यूल एक SMTP क्लाइंट सेशन ऑब्जेक्ट को परिभाषित करता है जिसका उपयोग पायथन प्रोग्राम के माध्यम से मेल भेजने के लिए किया जा सकता है।

एक मेल सर्वर एक एप्लिकेशन है जो इंटरनेट पर ई-मेल को हैंडल और डिलीवर करता है। आउटगोइंग मेल सर्वर SMTP (सिंपल मेल ट्रांसफर प्रोटोकॉल) सर्वर लागू करते हैं, जो ईमेल ट्रांसमिशन के लिए एक इंटरनेट मानक है।

इनकमिंग मेल सर्वर दो मुख्य प्रकार के होते हैं। POP3 (पोस्ट ऑफिस प्रोटोकॉल) और IMAP (इंटरनेट मैसेज एक्सेस प्रोटोकॉल)।

smtplib.SMTP() फ़ंक्शन

यह फ़ंक्शन SMTP क्लास का एक ऑब्जेक्ट लौटाता है। यह SMTP या ESMTP सर्वर से कनेक्शन को एनकैप्सुलेट और मैनेज करता है। इस फ़ंक्शन के सिग्नेचर में निम्न तर्क परिभाषित हैं:

host एक स्ट्रिंग जो कनेक्ट करने के लिए रिमोट होस्ट का नाम है।
port एक नंबर जो कनेक्ट करने के लिए पोर्ट को निर्दिष्ट करता है। डिफ़ॉल्ट रूप से, smtplib.SMTP_PORT उपयोग किया जाता है।
local_hostname HELO/EHLO कमांड में लोकल होस्ट के FQDN के रूप में उपयोग किया जाता है।
source_address एक 2-टपल (होस्ट, पोर्ट) ऑब्जेक्ट जिससे सॉकेट बाइंड होता है।

इसमें SMTP ऑपरेशन्स को सपोर्ट करने वाले निम्न मेथड्स हैं:

connect() - यह मेथड दिए गए पोर्ट पर होस्ट से कनेक्शन स्थापित करता है।

login() - यह फ़ंक्शन SMTP सर्वर में लॉगिन करने के लिए यूजरनेम और पासवर्ड तर्क लेता है।

quit() - यह फ़ंक्शन SMTP सेशन को समाप्त करता है।

data() - इस फ़ंक्शन का 'message' तर्क सर्वर को भेजा जाता है।

docmd() - यह फ़ंक्शन एक कमांड भेजता है और उसका रिस्पॉन्स कोड लौटाता है।

ehlo() - यह फ़ंक्शन सर्वर की पहचान करता है।

starttls() - यह फ़ंक्शन TLS मोड शुरू करता है।

getreply() - यह फ़ंक्शन सर्वर से रिप्लाई को रिस्पॉन्स कोड के रूप में प्राप्त करता है।

putcmd() - यह फ़ंक्शन सर्वर को एक कमांड भेजता है।

send_message() - यह फ़ंक्शन मैसेज को बाइट स्ट्रिंग में बदलता है और मेल भेजने के लिए पास करता है।

sendmail() - यह कमांड संपूर्ण मेल ट्रांजैक्शन करता है।

तर्क हैं:

from_addr इस मेल को भेजने वाला एड्रेस।
to_addrs इस मेल को भेजने के लिए एड्रेस की सूची।
msg भेजा जाने वाला मैसेज।

नीचे दिया गया कोड ईमेल भेजने के लिए Gmail के SMTP सर्वर का उपयोग करता है। SMTP ऑब्जेक्ट Gmail के SMTP सर्वर का उपयोग पोर्ट 587 पर करता है। ehlo() कमांड सर्वर की पहचान करता है। हम आउटगोइंग मेल मैसेज के लिए ट्रांसपोर्ट लेयर सिक्योरिटी भी सक्रिय करते हैं।

इसके बाद, login() कमांड को क्रेडेंशियल्स को तर्क के रूप में पास करके आमंत्रित किया जाता है। अंत में, मेल मैसेज को निर्धारित फॉर्मेट में एक हेडर संलग्न करके असेंबल किया जाता है और sendmail() मेथड का उपयोग करके भेजा जाता है। SMTP ऑब्जेक्ट को बाद में बंद कर दिया जाता है।

import smtplib
content = "Hello World"
mail = smtplib.SMTP('smtp.gmail.com', 587)
mail.ehlo()
mail.starttls()
sender = 'pythonanytime@gmail.com'
recipient = 'mlathkar@gmail.com'
mail.login('pythonanytime@gmail.com', 'm15v5l61')
header = 'To:' + recipient + '\n' + 'From:' + sender + '\n' + 'subject:testmail\n'
content = header + content
mail.sendmail(sender, recipient, content)
mail.close()

उपरोक्त स्क्रिप्ट चलाने से पहले, सुनिश्चित करें कि सेंडर के Gmail अकाउंट को 'कम सुरक्षित ऐप्स' तक पहुंच प्रदान की गई है।

https://myaccount.google.com/lesssecureapps

दिखाए गए टॉगल बटन को ON पर सेट करें।

पायथन में SMTP प्रोटोकॉल क्लाइंट (smtplib मॉड्यूल)

उपरोक्त सेटिंग करने के बाद स्क्रिप्ट चलाएं। मैसेज रिसिपिएंट के इनबॉक्स में डिलीवर होना चाहिए।

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

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

  1. WordPress को SMTP मेल भेजने के लिए कैसे कॉन्फ़िगर करें WordPress को SMTP मेल भेजने के लिए कैसे कॉन्फ़िगर करें

    WordPress, अपनी वेब उपस्थिति को आसानी से डिजाइन करने की अनुमति देने वाली सभी खूबियों के लिए, अभी भी कुछ क्षेत्रों में कठिनाइयों का सामना करता है। समस्याग्रस्त मुद्दों में से एक ईमेल भेजने के लिए SMTP का उपयोग है। यह विशेष रूप से परेशानी भरा है यदि आप WooCommerce प्लेटफॉर्म प्लगइन के माध्यम से आइटम ब

  1. Outlook को डिफ़ॉल्ट मेल क्लाइंट के रूप में कैसे सेट करें Outlook को डिफ़ॉल्ट मेल क्लाइंट के रूप में कैसे सेट करें

    Outlook इंस्टॉल करने के बाद (चाहे कोई भी संस्करण हो), संभावना है कि इसे डिफ़ॉल्ट क्लाइंट के रूप में पहचाना नहीं जाएगा। जब आप अपने ईमेल कार्यों को संभालने के लिए कई ईमेल प्रोग्राम्स के बीच कूदना पड़ता है, तो क्यों न Outlook को ईमेल भेजने और प्राप्त करने के लिए डिफ़ॉल्ट स्टॉप बना दिया जाए? यदि आप Win