IMAP Sunucusuna Bağlan C#

Çeşitli durumlarda, e-posta sunucularına, e-postaları okumak veya e-posta istemcilerini uygulamak için Python uygulamalarından erişilir. Bir e-posta sunucusundan e-posta almak için yaygın olarak İnternet İleti Erişim Protokolü (IMAP) protokolü kullanılır. Bu yazıda Python’da IMAP üzerinden e-postaları nasıl okuyacağınızı göstereceğiz. Makale, bir e-posta sunucusuna nasıl bağlanılacağını, istenen klasöre nasıl erişileceğini ve e-postaların nasıl okunacağını açık bir şekilde ele alacaktır.

E-postaları IMAP Yoluyla Okumak için Python Kitaplığı - Ücretsiz İndirme

IMAP aracılığıyla e-posta sunucusundan e-postaları okumak için Aspose.Email for Python via .NET kullanacağız. E-posta sunucularından e-posta göndermenizi ve posta kutularına erişmenizi sağlayan güçlü bir e-posta kitaplığıdır. Aşağıdaki komutu kullanarak PyPI kitaplığını kurabilirsiniz.

pip install Aspose.Email-for-Python-via-NET

.whl dosyası kullanarak manuel kurulum için aşağıdaki adımları takip edebilirsiniz.

  • İndirilenler bölümünden yüklenebilir .whl dosyasını indirin.
  • Komut satırından şu komutu kullanın: pip install «FileName> >.whl kitaplığı yüklemek için.

Python’da IMAP aracılığıyla E-posta Sunucusuna Bağlan

IMAP kullanarak bir e-posta sunucusuna bağlanmak için gereken adımlar aşağıdadır.

  1. ImapClient sınıfının bir örneğini oluşturun ve bunu ana bilgisayar adı, bağlantı noktası, kullanıcı adı ve parola ile başlatın.
  2. Posta kutusuna erişmek için ImapClient nesnesini kullanın.

Aşağıdaki kod örneği, Python’da IMAP kullanarak bir e-posta sunucusuna nasıl bağlanılacağını gösterir.

from aspose.email import SecurityOptions, ImapClient

# bir ImapClient örneği oluşturun ve ana bilgisayar, bağlantı noktası, kullanıcı adı ve parola sağlayın
client = ImapClient("imap.domain.com", 993, "user@domain.com", "password")

# güvenlik seçeneklerini ayarla
client.security_options = SecurityOptions.SSLIMPLICIT

# posta kutusuna erişmek için ImapClient nesnesini kullanın

Python: Posta Kutusundaki E-posta Klasörlerine Erişin

E-posta sunucusuyla bağlantı kurduktan sonra, e-posta mesajlarını okumak istediğiniz klasörü seçebilirsiniz. Önce posta kutusundaki tüm klasörlerin listesini nasıl alacağınıza bakalım. Her bir klasör hakkında bilgi almak için gereken adımlar aşağıdadır.

  1. ImapClient sınıfının bir örneğini oluşturun ve bunu ana bilgisayar adı, bağlantı noktası, kullanıcı adı ve parola ile başlatın.
  2. Bir nesnede klasör koleksiyonu almak için ImapClient.listfolders() yöntemini kullanın.
  3. Koleksiyonda dolaşın ve klasörlerin ayrıntılarını alın.

Aşağıdaki kod örneği, bir posta kutusundaki klasörlerin ayrıntılarının nasıl yazdırılacağını gösterir.

from aspose.email import ImapClient

# bir ImapClient örneği oluşturun ve ana bilgisayar, bağlantı noktası, kullanıcı adı ve parola sağlayın
with ImapClient("imap.gmail.com", 993, "username", "password") as client:

    # klasörlerin listesini al
    folderInfoColl = client.list_folders()

    # klasörlerin bilgilerini birer birer almak için koleksiyon boyunca yineleyin
   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))
    

Şimdi IMAP kullanarak posta kutusundaki belirli bir klasöre erişmeye devam edelim.

  1. ImapClient sınıfının bir örneğini oluşturun ve bunu ana bilgisayar adı, bağlantı noktası, kullanıcı adı ve parola ile başlatın.
  2. Klasörü seçmek için ImapClient.selectfolder(string) yöntemini kullanın.

Aşağıdaki kod örneği, posta kutusundan bir e-posta klasörünün nasıl seçileceğini gösterir.

from aspose.email import ImapClient

# bir ImapClient örneği oluşturun ve ana bilgisayar, bağlantı noktası, kullanıcı adı ve parola sağlayın
with ImapClient("imap.gmail.com", 993, "username", "password") as client:

    # posta kutusundan klasörü seçin
    client.select_folder("Inbox")

Python’da Bir Klasörden E-postaları Okuyun

Aşağıdakiler, Python kullanarak posta kutusundaki belirli bir klasörden e-posta mesajlarını okuma adımlarıdır.

  1. ImapClient sınıfının bir örneğini oluşturun ve bunu ana bilgisayar adı, bağlantı noktası, kullanıcı adı ve parola ile başlatın.
  2. Klasörü seçmek için ImapClient.selectfolder(string) yöntemini kullanın.
  3. client.listmessages() yöntemini kullanarak klasördeki mesajların listesini alın.
  4. Mesaj koleksiyonunda dolaşın.
  5. Her e-posta mesajının ayrıntılarını alın ve gerekirse diske kaydedin.

Aşağıdaki kod örneği, Python’da bir e-posta sunucusundan gelen e-postaların nasıl okunacağını gösterir.

from aspose.email import ImapClient

# bir ImapClient örneği oluşturun ve ana bilgisayar, bağlantı noktası, kullanıcı adı ve parola sağlayın
with ImapClient("imap.gmail.com", 993, "username", "password") as client:

        # dosya Seç
        client.select_folder("Inbox")

        # koleksiyondaki her mesajı oku
       for msg in client.list_messages():
            print( "From: '{}', MIME Id: {}".format(msg.from_address, msg.message_id) )
            
            # mesajı diske kaydet
            client.save_message(msg.unique_id, msg.unique_id + "_out.eml")

E-postaları IMAP Üzerinden Okumak için Python Kitaplığı - Ücretsiz Lisans Alın

Geçici bir lisans alarak Aspose.Email for Python kullanarak IMAP üzerinden e-postaları ücretsiz olarak okuyabilirsiniz.

Çözüm

Bu makalede, Python’da IMAP kullanarak bir e-posta sunucusundan gelen e-postaları nasıl okuyacağınızı öğrendiniz. Kod örnekleri, bir e-posta sunucusuna nasıl bağlanılacağını, posta kutusundaki klasörlerin listesini almayı, bir klasör seçmeyi ve e-postaları okumayı göstermiştir. Ayrıca Aspose.Email for Python via .NET hakkında daha fazlasını keşfetmek için documentation adresini ziyaret edebilirsiniz. Ayrıca, kaynak kod örnekleri paketinin tamamını GitHub‘dan indirebilirsiniz. Herhangi bir sorunuz veya sorunuz olması durumunda forumumuz aracılığıyla bize bildirmekten çekinmeyin.

Ayrıca bakınız