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

ไคลเอนต์โปรโตคอล POP3 ใน Python


โมดูล poolib จากไลบรารีมาตรฐานของ Python กำหนดคลาส POP3 และ POP3_SSL คลาส POP3 สรุปการเชื่อมต่อกับเซิร์ฟเวอร์ POP3 และใช้โปรโตคอลตามที่กำหนดไว้ใน RFC 1939 คลาส POP3_SSL รองรับเซิร์ฟเวอร์ POP3 ที่ใช้ SSL เป็นเลเยอร์โปรโตคอลพื้นฐาน

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

ทั้งสองคลาสมีวิธีการดังต่อไปนี้ที่กำหนดไว้ -

getwelcome()

ส่งกลับสตริงคำทักทายที่ส่งโดยเซิร์ฟเวอร์ POP3

ชื่อผู้ใช้ (ชื่อผู้ใช้)

ส่งคำสั่งผู้ใช้ การตอบกลับควรระบุว่าต้องใช้รหัสผ่าน

รหัสผ่าน_(รหัสผ่าน)

ส่งรหัสผ่าน

สถิติ()

รับสถานะกล่องจดหมาย ผลลัพธ์ประกอบด้วย 2 จำนวนเต็ม:(จำนวนข้อความ ขนาดเมลบ็อกซ์)

รายการ()

ขอรายการข้อความ ผลลัพธ์อยู่ในรูปแบบ (ตอบกลับ ['mesg_num octets', ...], octets)

retr()

ดึงข้อความของดัชนีที่ระบุและตั้งค่าสถานะที่เห็น

เดเล่()

ตั้งค่าสถานะข้อความสำหรับการลบ

บน()

ดึงส่วนหัวของข้อความพร้อมจำนวนบรรทัดของข้อความหลังส่วนหัวของข้อความ

quit():ออกจากระบบ

กระทำการเปลี่ยนแปลง ปลดล็อกกล่องจดหมาย ยกเลิกการเชื่อมต่อ

ตัวอย่าง

รหัสต่อไปนี้ดึงข้อความที่ยังไม่ได้อ่านทั้งหมดจากเซิร์ฟเวอร์ POP ของ Gmail

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 ของคุณได้รับการกำหนดค่าให้อนุญาตแอปที่มีความปลอดภัยน้อย