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

पायथन में POP3 प्रोटोकॉल क्लाइंट

poplib मॉड्यूल POP3 और POP3_SSL क्लासेस प्रदान करता है जो POP3 सर्वर से कनेक्ट करके ईमेल प्राप्त करने की सुविधा देते हैं।

क्लासेस

  • POP3 - मानक POP3 कनेक्शन (RFC 1939)
  • POP3_SSL - SSL/TLS लेयर के साथ POP3 (सुरक्षित)
नोट: POP3 अप्रचलित हो रहा है। यदि आपका मेल सर्वर IMAP सपोर्ट करता है, तो imaplib.IMAP4 का उपयोग करना बेहतर है।

मुख्य मेथड्स

मेथडविवरण
getwelcome()सर्वर का स्वागत संदेश लौटाता है
user(username)यूज़रनेम भेजता है
pass_(password)पासवर्ड भेजता है
stat()मेलबॉक्स स्टेटस: (मैसेज काउंट, साइज़)
list()मैसेज सूची: (response, ['msg_num octets', ...], octets)
retr(msgnum)निर्दिष्ट मैसेज प्राप्त करता है, seen फ्लैग सेट करता है
dele(msgnum)मैसेज को डिलीशन के लिए फ्लैग करता है
top(msgnum, lines)हेडर + निर्दिष्ट लाइन्स प्राप्त करता है
quit()साइनऑफ: चेंजेस कमिट, कनेक्शन बंद

उदाहरण: Gmail से अनरीड मैसेजेस प्राप्त करना

import poplib

# SSL कनेक्शन (पोर्ट 995)
box = poplib.POP3_SSL('pop.gmail.com', 995)

# लॉगिन
box.user("your_email@gmail.com")
box.pass_("your_app_password")  # ऐप पासवर्ड उपयोग करें

# मैसेज काउंट
num_messages = len(box.list()[1])
print(f"कुल मैसेजेस: {num_messages}")

# सभी मैसेजेस प्राप्त करें
for i in range(num_messages):
    # retr() टपल लौटाता है: (response, [lines], octets)
    response, lines, octets = box.retr(i + 1)
    print(f"\n--- मैसेज {i+1} ---")
    for line in lines:
        print(line.decode('utf-8', errors='ignore'))

# कनेक्शन बंद
box.quit()

उदाहरण: केवल हेडर्स देखना (top)

import poplib

box = poplib.POP3_SSL('pop.gmail.com', 995)
box.user("your_email@gmail.com")
box.pass_("your_app_password")

# पहले 5 मैसेजेस के हेडर्स देखें
for i in range(min(5, len(box.list()[1]))):
    response, lines, octets = box.top(i + 1, 10)  # हेडर + 10 लाइन्स
    print(f"\n=== मैसेज {i+1} हेडर ===")
    for line in lines:
        print(line.decode('utf-8', errors='ignore'))

box.quit()

महत्वपूर्ण सेटिंग्स (Gmail के लिए)

  1. Gmail में 2-स्टेप वेरिफिकेशन इनेबल करें
  2. ऐप पासवर्ड जनरेट करें (सामान्य पासवर्ड काम नहीं करेगा)
  3. POP एक्सेस इनेबल करें: Settings → Forwarding and POP/IMAP → "Enable POP for all mail"

त्रुटि संचालन

import poplib
import socket

try:
    box = poplib.POP3_SSL('pop.gmail.com', 995, timeout=30)
    box.user("email@gmail.com")
    box.pass_("password")
    # ... ऑपरेशन्स
except poplib.error_proto as e:
    print(f"POP3 प्रोटोकॉल त्रुटि: {e}")
except socket.timeout:
    print("कनेक्शन टाइमआउट")
except Exception as e:
    print(f"त्रुटि: {e}")
finally:
    try:
        box.quit()
    except:
        pass

POP3 vs IMAP

विशेषताPOP3IMAP
सिंकवन-वे (डाउनलोड)टू-वे (सिंक)
सर्वर पर मेलआमतौर पर डिलीट हो जाता हैसर्वर पर रहता है
फोल्डर सपोर्टनहींहाँ
एकाधिक डिवाइसखराबउत्कृष्ट

सिफारिश: आधुनिक एप्लिकेशंस के लिए imaplib या हाई-लेवल लाइब्रेरी जैसे imapclient, mailbox उपयोग करें।

  1. पायथन में ट्किंटर में विभिन्न संदेश पायथन में ट्किंटर में विभिन्न संदेश

    ट्किंटर पायथन का GUI मॉड्यूल है। यह विभिन्न संदेश प्रदर्शन विकल्पों का उपयोग करता है जो उपयोगकर्ता कार्यों या चल रहे प्रोग्राम की स्थिति में परिवर्तन के जवाब में होते हैं। संदेश बॉक्स वर्ग का उपयोग विभिन्न प्रकार के संदेशों जैसे पुष्टिकरण संदेश, त्रुटि संदेश, चेतावनी संदेश आदि को प्रदर्शित करने के ल

  1. पायथन में लो-लेवल नेटवर्किंग इंटरफ़ेस (socket मॉड्यूल) पायथन में लो-लेवल नेटवर्किंग इंटरफ़ेस (socket मॉड्यूल)

    पायथन की स्टैंडर्ड लाइब्रेरी में socket मॉड्यूल परिभाषित करता है कि सर्वर और क्लाइंट मशीनें ऑपरेटिंग सिस्टम के ऊपर सॉकेट एंडपॉइंट्स का उपयोग करके कैसे संचार कर सकती हैं। socket API में कनेक्शन-ओरिएंटेड और कनेक्शनलेस दोनों नेटवर्क प्रोटोकॉल के लिए फ़ंक्शन्स होते हैं। सॉकेट टू-वे कम्युनिकेशन लिंक का

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

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