ในหลายกรณี เซิร์ฟเวอร์อีเมลสามารถเข้าถึงได้จากภายในแอปพลิเคชัน Python เพื่ออ่านอีเมลหรือใช้งานอีเมลไคลเอ็นต์ สำหรับการดึงอีเมลจากเซิร์ฟเวอร์อีเมล โดยทั่วไปจะใช้โปรโตคอล Internet Message Access Protocol (IMAP) ในบทความนี้ เราจะแสดงวิธีการอ่านอีเมลผ่าน IMAP ใน Python บทความนี้จะกล่าวถึงวิธีการเชื่อมต่อกับเซิร์ฟเวอร์อีเมล เข้าถึงโฟลเดอร์ที่ต้องการ และอ่านอีเมลอย่างชัดเจน
- Python Library เพื่ออ่านอีเมลโดยใช้ IMAP
- เชื่อมต่อกับเซิร์ฟเวอร์ IMAP ใน Python
- เข้าถึงโฟลเดอร์อีเมลจากกล่องจดหมาย
- อ่านอีเมลจากโฟลเดอร์ใน Python
Python Library เพื่ออ่านอีเมลผ่าน IMAP - ดาวน์โหลดฟรี
หากต้องการอ่านอีเมลจากเซิร์ฟเวอร์อีเมลผ่าน IMAP เราจะใช้ Aspose.Email for Python ผ่าน .NET เป็นไลบรารีอีเมลที่มีประสิทธิภาพซึ่งช่วยให้คุณส่งอีเมลและเข้าถึงกล่องจดหมายจากเซิร์ฟเวอร์อีเมลได้ คุณสามารถติดตั้งไลบรารีได้จาก PyPI โดยใช้คำสั่งต่อไปนี้
pip install Aspose.Email-for-Python-via-NET
สำหรับการติดตั้งด้วยตนเองโดยใช้ไฟล์ .whl คุณสามารถทำตามขั้นตอนด้านล่าง
- ดาวน์โหลดไฟล์ .whl ที่ติดตั้งได้จากส่วน ดาวน์โหลด
- จากบรรทัดคำสั่ง ใช้คำสั่ง: pip install «FileName> >.whl เพื่อติดตั้งไลบรารี
เชื่อมต่อกับเซิร์ฟเวอร์อีเมลผ่าน IMAP ใน Python
ต่อไปนี้เป็นขั้นตอนในการเชื่อมต่อกับเซิร์ฟเวอร์อีเมลโดยใช้ IMAP
- สร้างอินสแตนซ์ของคลาส ImapClient และเริ่มต้นด้วยชื่อโฮสต์ พอร์ต ชื่อผู้ใช้ และรหัสผ่าน
- ใช้วัตถุ ImapClient เพื่อเข้าถึงกล่องจดหมาย
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเชื่อมต่อกับเซิร์ฟเวอร์อีเมลโดยใช้ IMAP ใน Python
from aspose.email import SecurityOptions, ImapClient
# สร้างอินสแตนซ์ของ ImapClient และระบุโฮสต์ พอร์ต ชื่อผู้ใช้ และรหัสผ่าน
client = ImapClient("imap.domain.com", 993, "user@domain.com", "password")
# ตั้งค่าตัวเลือกความปลอดภัย
client.security_options = SecurityOptions.SSLIMPLICIT
# ใช้วัตถุ ImapClient เพื่อเข้าถึงกล่องจดหมาย
Python: เข้าถึงโฟลเดอร์อีเมลในกล่องจดหมาย
เมื่อคุณสร้างการเชื่อมต่อกับเซิร์ฟเวอร์อีเมลแล้ว คุณสามารถเลือกโฟลเดอร์ที่คุณต้องการอ่านข้อความอีเมลได้ ก่อนอื่นมาดูวิธีรับรายชื่อโฟลเดอร์ทั้งหมดในกล่องจดหมาย ต่อไปนี้เป็นขั้นตอนในการรับข้อมูลเกี่ยวกับแต่ละโฟลเดอร์
- สร้างอินสแตนซ์ของคลาส ImapClient และเริ่มต้นด้วยชื่อโฮสต์ พอร์ต ชื่อผู้ใช้ และรหัสผ่าน
- ใช้เมธอด ImapClient.listfolders() เพื่อรับคอลเลคชันโฟลเดอร์ในวัตถุ
- วนซ้ำรายละเอียดของโฟลเดอร์คอลเลกชันและดึงข้อมูล
ตัวอย่างรหัสต่อไปนี้แสดงวิธีการพิมพ์รายละเอียดของโฟลเดอร์ในกล่องจดหมาย
from aspose.email import ImapClient
# สร้างอินสแตนซ์ของ ImapClient และระบุโฮสต์ พอร์ต ชื่อผู้ใช้ และรหัสผ่าน
with ImapClient("imap.gmail.com", 993, "username", "password") as client:
# รับรายชื่อโฟลเดอร์
folderInfoColl = client.list_folders()
# ทำซ้ำผ่านคอลเลกชันเพื่อรับข้อมูลของโฟลเดอร์ทีละรายการ
for folderInfo in folderInfoColl:
print("Folder name is " + folderInfo.name)
folderExtInfo = client.get_folder_info(folderInfo.name)
print("New message count: " + str(folderExtInfo.new_message_count))
print("Is it readonly? " + str(folderExtInfo.read_only))
print("Total number of messages " + str(folderExtInfo.total_message_count))
ตอนนี้มาดำเนินการเพื่อเข้าถึงโฟลเดอร์เฉพาะในกล่องจดหมายโดยใช้ IMAP
- สร้างอินสแตนซ์ของคลาส ImapClient และเริ่มต้นด้วยชื่อโฮสต์ พอร์ต ชื่อผู้ใช้ และรหัสผ่าน
- ใช้เมธอด ImapClient.selectfolder(string) เพื่อเลือกโฟลเดอร์
ตัวอย่างรหัสต่อไปนี้แสดงวิธีการเลือกโฟลเดอร์อีเมลจากกล่องจดหมาย
from aspose.email import ImapClient
# สร้างอินสแตนซ์ของ ImapClient และระบุโฮสต์ พอร์ต ชื่อผู้ใช้ และรหัสผ่าน
with ImapClient("imap.gmail.com", 993, "username", "password") as client:
# เลือกโฟลเดอร์จากกล่องจดหมาย
client.select_folder("Inbox")
อ่านอีเมลจากโฟลเดอร์ใน Python
ต่อไปนี้เป็นขั้นตอนในการอ่านข้อความอีเมลจากโฟลเดอร์เฉพาะในกล่องจดหมายโดยใช้ Python
- สร้างอินสแตนซ์ของคลาส ImapClient และเริ่มต้นด้วยชื่อโฮสต์ พอร์ต ชื่อผู้ใช้ และรหัสผ่าน
- ใช้เมธอด ImapClient.selectfolder(string) เพื่อเลือกโฟลเดอร์
- รับรายการข้อความในโฟลเดอร์โดยใช้วิธีการ client.listmessages()
- วนรอบการรวบรวมข้อความ
- รับรายละเอียดของแต่ละข้อความอีเมลและบันทึกลงในดิสก์หากจำเป็น
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านอีเมลจากเซิร์ฟเวอร์อีเมลใน Python
from aspose.email import ImapClient
# สร้างอินสแตนซ์ของ ImapClient และระบุโฮสต์ พอร์ต ชื่อผู้ใช้ และรหัสผ่าน
with ImapClient("imap.gmail.com", 993, "username", "password") as client:
# เลือกโฟลเดอร์
client.select_folder("Inbox")
# อ่านแต่ละข้อความในคอลเลกชัน
for msg in client.list_messages():
print( "From: '{}', MIME Id: {}".format(msg.from_address, msg.message_id) )
# บันทึกข้อความบนดิสก์
client.save_message(msg.unique_id, msg.unique_id + "_out.eml")
Python Library เพื่ออ่านอีเมลผ่าน IMAP - รับใบอนุญาตฟรี
คุณสามารถอ่านอีเมลผ่าน IMAP โดยใช้ Aspose.Email for Python ได้ฟรีโดย ขอรับใบอนุญาตชั่วคราว
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีอ่านอีเมลจากเซิร์ฟเวอร์อีเมลโดยใช้ IMAP ใน Python ตัวอย่างโค้ดได้สาธิตวิธีเชื่อมต่อกับเซิร์ฟเวอร์อีเมล รับรายการโฟลเดอร์ในกล่องจดหมาย เลือกโฟลเดอร์ และอ่านอีเมล นอกจากนี้ คุณสามารถไปที่ เอกสารประกอบ เพื่อสำรวจเพิ่มเติมเกี่ยวกับ Aspose.Email for Python ผ่าน .NET นอกจากนี้ คุณสามารถดาวน์โหลดชุดตัวอย่างซอร์สโค้ดทั้งหมดได้จาก GitHub ในกรณีที่คุณมีคำถามหรือข้อสงสัย โปรดแจ้งให้เราทราบผ่านทาง ฟอรัม ของเรา