Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

POP3 Protocol Client ใน Python (poplib)

โมดูล poplib จาก Standard Library ของ Python กำหนดคลาส POP3 และ POP3_SSL คลาส POP3 บรรจุการเชื่อมต่อกับ POP3 Server และนำโปรโตคอลตาม RFC 1939 ไปใช้งาน คลาส POP3_SSL รองรับ POP3 Server ที่ใช้ SSL เป็นโปรโตคอลชั้นล่าง

โปรโตคอล POP3 ล้าสมัยแล้ว เนื่องจากคุณภาพการนำไปใช้ของ POP3 Server ค่อนข้างแย่ หาก Mail Server รองรับ IMAP แนะนำให้ใช้ imaplib.IMAP4 แทน

เมธอดหลักของ POP3 และ POP3_SSL

เมธอดคำอธิบาย
getwelcome()คืน Greeting String จาก POP3 Server
user(username)ส่งคำสั่ง USER ตอบกลับควรระบุว่าต้องการ Password
pass_(password)ส่ง Password
stat()ดูสถานะ Mailbox คืน 2 จำนวนเต็ม: (จำนวนข้อความ, ขนาด Mailbox)
list()ขอรายการข้อความ ผลลัพธ์เป็น (response, ['mesg_num octets', ...], octets)
retr()ดึงข้อความตาม Index ที่ระบุ และตั้ง Flag ว่าอ่านแล้ว
dele()ตั้ง Flag ให้ข้อความหมายเลขนั้นเพื่อลบ
top()ดึง Header ของข้อความ บวกจำนวนบรรทัดหลัง Header
quit()Sign off: Commit การเปลี่ยนแปลง, Unlock Mailbox, ตัดการเชื่อมต่อ

ตัวอย่าง: ดึงอีเมลที่ยังไม่อ่านจาก Gmail POP Server

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 Account ให้อนุญาต Less Secure Apps