কম্পিউটার টিউটোরিয়াল

পাইথনে POP3 প্রোটোকল ক্লায়েন্ট (POP3 Protocol Client) কী?

পাইথনের স্ট্যান্ডার্ড লাইব্রেরির poplib মডিউলে POP3 এবং POP3_SSL ক্লাস সংজ্ঞায়িত। POP3 ক্লাস একটি POP3 সার্ভারের সাথে কানেকশন এনক্যাপসুলেট করে এবং RFC 1939-এ সংজ্ঞায়িত প্রোটোকল বাস্তবায়ন করে। POP3_SSL ক্লাস SSL ব্যবহরণকারী POP3 সার্ভারকে সমর্থন করে।

POP3 প্রোটোকল প্রায় প্রচলনবাহিয়ত, কারণ POP3 সার্ভারের ইমপ্লিমেন্টেশন কোয়ালিটি খুব ভালো নয়। যদি আপনার মেইল সার্ভার IMAP সমর্থন করে, তবে imaplib.IMAP4 ক্লাস ব্যবহার করার পরামর্শ দেওয়া হয়।

দুই ক্লাসেই নিচের মেথডগুলো সংজ্ঞায়িত:

getwelcome()

POP3 সার্ভারের পাঠানো গ্রিটিং স্ট্রিং রিটার্ন করে।

user(username)

USER কমান্ড পাঠায়, রেসপন্স নির্দেশ করবে পাসওয়ার্ড প্রয়োজন।

pass_(password)

পাসওয়ার্ড পাঠায়।

Stat()

মেইলবক্স স্ট্যাটাস পাওয়া যায়। রেজাল্টে দুটি ইন্টিজার থাকে: (মেসেজ কাউন্ট, মেইলবক্স সাইজ)।

list()

মেসেজ লিস্ট অনুরোধ করে, রেজাল্ট ফরম্যাট: (response, ['mesg_num octets', ...], octets)।

retr()

নির্দিষ্ট ইন্ডেক্সের মেসেজ রিট্রিভ করে এবং এর সিন ফ্ল্যাগ সেট করে।

Dele()

ডিলিশনের জন্য মেসেজ নম্বর ফ্ল্যাগ করে।

Top()

মেসেজ হেডার প্লাস হেডারের পর নির্দিষ্ট লাইন সংখ্যা রিট্রিভ করে।

quit(): Signoff

পরিবর্তন কমিট করে, মেইলবক্স আনলক করে, কানেকশন ড্রপ করে।

উদাহরণ

নিচের কোড Gmail-এর POP সার্ভার থেকে সকল আনরিড মেসেজ রিট্রিভ করে।

import poplib 
box = poplib.POP3_SSL('pop.googlemail.com', '995') 
box.user("YourGmailUserName") 
box.pass_('YourPassword') 
N = len(box.list()[1]) 
for i in range(N): 
    for msg in box.retr(i+1)[1]: 
        print(msg) 
box.quit()

উপরের স্ক্রিপ্ট চালানোর আগে নিশ্চিত হোন যে আপনার Gmail অ্যাকাউন্ট কম সিকিউর অ্যাপস অ্যালো করতে কনফিগার করা আছে।

  1. Tkinter-এ বিভিন্ন মেসেজ বক্স - পাইথন

  2. পাইথনে লো-লেভেল নেটওয়ার্কিং ইন্টারফেস (socket)

  3. পাইথনে SMTP প্রোটোকল ক্লায়েন্ট (smtplib)

  4. পাইথন এক্সসেপশন মেসেজ ক্যাপচার ও প্রিন্ট করা