เชื่อมต่อกับเซิร์ฟเวอร์ IMAP C#

ในหลายกรณี เซิร์ฟเวอร์อีเมลสามารถเข้าถึงได้จากภายในแอปพลิเคชัน Python เพื่ออ่านอีเมลหรือใช้งานอีเมลไคลเอ็นต์ สำหรับการดึงอีเมลจากเซิร์ฟเวอร์อีเมล โดยทั่วไปจะใช้โปรโตคอล Internet Message Access Protocol (IMAP) ในบทความนี้ เราจะแสดงวิธีการอ่านอีเมลผ่าน IMAP ใน 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

  1. สร้างอินสแตนซ์ของคลาส ImapClient และเริ่มต้นด้วยชื่อโฮสต์ พอร์ต ชื่อผู้ใช้ และรหัสผ่าน
  2. ใช้วัตถุ 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: เข้าถึงโฟลเดอร์อีเมลในกล่องจดหมาย

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

  1. สร้างอินสแตนซ์ของคลาส ImapClient และเริ่มต้นด้วยชื่อโฮสต์ พอร์ต ชื่อผู้ใช้ และรหัสผ่าน
  2. ใช้เมธอด ImapClient.listfolders() เพื่อรับคอลเลคชันโฟลเดอร์ในวัตถุ
  3. วนซ้ำรายละเอียดของโฟลเดอร์คอลเลกชันและดึงข้อมูล

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการพิมพ์รายละเอียดของโฟลเดอร์ในกล่องจดหมาย

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

  1. สร้างอินสแตนซ์ของคลาส ImapClient และเริ่มต้นด้วยชื่อโฮสต์ พอร์ต ชื่อผู้ใช้ และรหัสผ่าน
  2. ใช้เมธอด 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

  1. สร้างอินสแตนซ์ของคลาส ImapClient และเริ่มต้นด้วยชื่อโฮสต์ พอร์ต ชื่อผู้ใช้ และรหัสผ่าน
  2. ใช้เมธอด ImapClient.selectfolder(string) เพื่อเลือกโฟลเดอร์
  3. รับรายการข้อความในโฟลเดอร์โดยใช้วิธีการ client.listmessages()
  4. วนรอบการรวบรวมข้อความ
  5. รับรายละเอียดของแต่ละข้อความอีเมลและบันทึกลงในดิสก์หากจำเป็น

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

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