ในบทความนี้ คุณจะได้เรียนรู้วิธีดึงข้อความอีเมลจากเซิร์ฟเวอร์อีเมลโดยทางโปรแกรม โดยเฉพาะอย่างยิ่ง คุณจะได้รู้วิธีเชื่อมต่อกับเซิร์ฟเวอร์อีเมลโดยใช้โปรโตคอล 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 โดยใช้ เอกสารประกอบ นอกจากนี้ คุณสามารถโพสต์คำถามของคุณบน ฟอรัม ของเรา