Aktifkan Ekstensi IMAP

Dukungan Ekstensi IMAP

API Aspose.Email menyediakan dukungan untuk berbagai ekstensi protokol IMAP. Ekstensi ini memungkinkan operasi lanjutan seperti mengidentifikasi aplikasi klien dan mengambil metadata kotak surat yang terperinci. Meskipun tidak semua server email mendukung fitur ini, banyak layanan populer seperti Gmail mendukungnya.

Artikel ini menunjukkan cara menggunakan ekstensi IMAP berikut dengan ImapClient kelas dalam Aspose.Email:

  • Perintah IMAP ID

  • Perintah IMAP LIST-EXTENDED

Menggunakan Perintah IMAP ID

Perintah ini memberikan umpan balik apakah server mendukung ekstensi IMAP ID dan mengembalikan detail identifikasi terstruktur dari server. Ini dapat berguna untuk pencatatan, diagnostik, dan penyesuaian perilaku server.

Contoh kode berikut menunjukkan cara menggunakan pustaka Aspose.Email untuk berinteraksi dengan server IMAP, khususnya untuk mengambil informasi identifikasi server menggunakan perintah ID:

import aspose.email as ae

with ae.clients.imap.ImapClient("imap.gmail.com", 993, "username", "password") as client:

    # Set security options
    client.security_options = ae.clients.SecurityOptions.AUTO

    # Check if ID command is supported
    print(client.id_supported)

    # Send identification info to the server
    server_identification_info1 = client.introduce_client()
    server_identification_info2 = client.introduce_client(ae.clients.imap.ImapIdentificationInfo.default_value)

    # Display server response
    print(server_identification_info1)
    print(server_identification_info2)
    print(server_identification_info1.name)
    print(server_identification_info1.vendor)
    print(server_identification_info1.support_url)
    print(server_identification_info1.version)

Menggunakan Perintah IMAP LIST-EXTENDED

Perintah IMAP LIST-EXTENDED (didefinisikan dalam RFC 5258) memungkinkan klien mengambil hierarki folder terperinci dan metadata, seperti apakah folder memiliki subfolder. Ini sangat berguna bagi klien yang mengelola struktur kotak surat yang kompleks.

Contoh kode berikut menunjukkan cara menampilkan folder di Gmail menggunakan perintah LIST yang diperluas dan memverifikasi folder mana yang berisi subfolder:

import aspose.email as ae

with ae.clients.imap.ImapClient("imap.gmail.com", 993, "username", "password") as client:
    folder_info_col = client.list_folders("*")
    print("Extended List Supported:", client.extended_list_supported)

    for folder_info in folder_info_col:
        folder_name = folder_info.name

        if folder_name == "[Gmail]/All Mail":
            print("Has Children:", folder_info.has_children)
        elif folder_name == "[Gmail]/Bin":
            print("Bin has children?", folder_info.has_children)
        elif folder_name == "[Gmail]/Drafts":
            print("Drafts has children?", folder_info.has_children)
        elif folder_name == "[Gmail]/Important":
            print("Important has Children?", folder_info.has_children)
        elif folder_name == "[Gmail]/Sent Mail":
            print("Sent Mail has Children?", folder_info.has_children)
        elif folder_name == "[Gmail]/Spam":
            print("Spam has Children?", folder_info.has_children)
        elif folder_name == "[Gmail]/Starred":
            print("Starred has Children?", folder_info.has_children)