IMAP Uzantılarını Etkinleştir

IMAP Uzantı Desteği

Aspose.Email API, bir dizi IMAP protokol uzantısı için destek sağlar. Bu uzantılar, istemci uygulamalarını tanımlama ve detaylı posta kutusu meta verilerini alma gibi gelişmiş işlemleri mümkün kılar. Tüm e-posta sunucuları bu özellikleri desteklemese de, Gmail gibi popüler hizmetlerin birçoğu destekler.

Bu makale, aşağıdaki IMAP uzantılarını şu şekilde kullanmayı gösterir: ImapClient Aspose.Email içindeki sınıf:

  • IMAP ID Komutu

  • IMAP LIST-EXTENDED Komutu

IMAP ID Komutunu Kullanma

Bu komut, sunucunun IMAP ID uzantısını destekleyip desteklemediği konusunda geri bildirim sağlar ve sunucudan yapılandırılmış kimlik detaylarını döndürür. Bu, loglama, tanı ve sunucu davranışı özelleştirme için faydalı olabilir.

Aşağıdaki kod örneği, Aspose.Email kütüphanesini bir IMAP sunucusuyla etkileşimde kullanmayı, özellikle ID komutunu kullanarak sunucu kimlik bilgilerini almayı gösterir:

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)

IMAP LIST-EXTENDED Komutunu Kullanma

IMAP LIST-EXTENDED komutu (RFC 5258’de tanımlanmıştır), istemcilerin detaylı klasör hiyerarşileri ve meta verilerini, örneğin klasörlerin alt klasörleri olup olmadığını almasını sağlar. Bu, karmaşık posta kutusu yapıları yöneten istemciler için özellikle faydalıdır.

Aşağıdaki kod örneği, genişletilmiş LIST komutunu kullanarak Gmail’de klasörleri listelemeyi ve hangi klasörlerin alt klasör içerdiğini doğrulamayı gösterir:

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)