ในบทความนี้ คุณจะได้เรียนรู้วิธีดึงข้อความอีเมลจากเซิร์ฟเวอร์อีเมลโดยทางโปรแกรม โดยเฉพาะอย่างยิ่ง คุณจะได้รู้วิธีเชื่อมต่อกับเซิร์ฟเวอร์อีเมลโดยใช้โปรโตคอล IMAP หรือ POP3 และอ่านอีเมลใน Python

Python Library เพื่ออ่านอีเมลโดยใช้ POP3 หรือ IMAP

ในการอ่านอีเมลจากเซิร์ฟเวอร์อีเมลโดยใช้ POP3 หรือ IMAP เราจะใช้ Aspose.Email for Python ผ่าน .NET เป็นไลบรารีอีเมลที่มีคุณสมบัติหลากหลายซึ่งช่วยให้คุณใช้งานไคลเอ็นต์อีเมลจากภายในแอปพลิเคชัน Python ของคุณได้ คุณสามารถ ดาวน์โหลด ไฟล์ .whl หรือติดตั้งไลบรารีโดยใช้คำสั่ง pip ต่อไปนี้

> pip install Aspose.Email-for-Python-via-NET

อ่านอีเมลจาก Mail Servers ใน Python

โดยทั่วไปจะใช้ POP3 และ IMAP เพื่อดึงอีเมลจากเซิร์ฟเวอร์อีเมล ส่วนต่อไปนี้จะสาธิตวิธีการอ่านอีเมลโดยใช้โปรโตคอลอีเมลทั้งสองแยกกัน

อ่านอีเมลโดยใช้ POP3 ใน Python

ต่อไปนี้เป็นขั้นตอนในการอ่านข้อความอีเมลโดยใช้ POP3 ใน Python

  • สร้างวัตถุของคลาส Pop3Client และเริ่มต้นด้วยโฮสต์ พอร์ต ชื่อผู้ใช้ และรหัสผ่าน
  • ตั้งค่าตัวเลือกความปลอดภัยโดยใช้คุณสมบัติ Pop3Client.securityoptions
  • รับจำนวนข้อความโดยใช้เมธอด Pop3Client.getmessagecount()
  • เข้าถึงแต่ละข้อความในลูปโดยใช้เมธอด Pop3Client.fetchmessage()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านอีเมลโดยใช้ POP3 ใน Python

# สร้างไคลเอนต์ POP3
client = Pop3Client("pop.gmail.com", 995, "username", "password")

# ตั้งค่าตัวเลือกความปลอดภัย
client.security_options = SecurityOptions.AUTO

# รับจำนวนข้อความ
messageCount = client.get_message_count()
print("Total messages: " + str(messageCount))

# สร้างอินสแตนซ์ของคลาส MailMessage เพื่ออ่านข้อความ    
for i in range(0,messageCount):
    message = client.fetch_message(i+1)
    print("From:" + str(message.from_address))
    print("Subject:" + message.subject)
    print(message.html_body)

อ่านอีเมลโดยใช้ IMAP ใน Python

ต่อไปนี้เป็นขั้นตอนในการอ่านข้อความอีเมลโดยใช้ IMAP ใน Python

  • สร้างอ็อบเจกต์ของคลาส ImapClient และเริ่มต้นมันด้วยโฮสต์ พอร์ต ชื่อผู้ใช้ และรหัสผ่าน
  • เลือกโฟลเดอร์โดยใช้วิธี ImapClient.selectfolder(folderName)
  • วนซ้ำรายการข้อความโดยใช้เมธอด ImapClient.listmessages()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านข้อความอีเมลโดยใช้ IMAP ใน Python

# เชื่อมต่อกับเมลเซิร์ฟเวอร์โดยใช้ IMAP
client = ImapClient("imap.gmail.com", 993, "username", "password")

# เลือกโฟลเดอร์
client.select_folder("Inbox")

# วนซ้ำข้อความอีเมลและบันทึกเป็นไฟล์ .eml
for msg in client.list_messages():
    print("Subject: " + msg.subject)
    print("HtmlBody: " + msg.html_body)
    print("TextBody: " + msg.body)
    client.save_message(msg.unique_id, msg.unique_id + "_out.eml")

Python Email Library - รับใบอนุญาตฟรี

คุณสามารถใช้ Aspose.Email for Python ได้โดยรับ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีการอ่านอีเมลจากเมลเซิร์ฟเวอร์โดยใช้ Python โดยเฉพาะอย่างยิ่ง คุณได้เห็นวิธีการใช้ไคลเอ็นต์ POP3 และ IMAP เพื่อดึงและอ่านข้อความอีเมล คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับไลบรารีอีเมล Python โดยใช้ เอกสารประกอบ นอกจากนี้ คุณสามารถโพสต์คำถามของคุณบน ฟอรัม ของเรา

ดูสิ่งนี้ด้วย