Połącz się z serwerem IMAP C#

W różnych przypadkach dostęp do serwerów poczty e-mail uzyskuje się z poziomu aplikacji Python w celu odczytywania wiadomości e-mail lub wdrażania klientów poczty e-mail. Do pobierania wiadomości e-mail z serwera pocztowego powszechnie używany jest protokół Internet Message Access Protocol (IMAP). W tym artykule pokażemy, jak czytać e-maile przez IMAP w Python. Artykuł wyraźnie omówi sposób łączenia się z serwerem poczty e-mail, uzyskiwania dostępu do żądanego folderu i czytania wiadomości e-mail.

Biblioteka Python do czytania wiadomości e-mail przez IMAP — bezpłatne pobieranie

Aby czytać e-maile z serwera pocztowego przez IMAP, użyjemy Aspose.Email for Python via .NET. Jest to potężna biblioteka poczty e-mail, która umożliwia wysyłanie wiadomości e-mail i uzyskiwanie dostępu do skrzynek pocztowych z serwerów pocztowych. Możesz zainstalować bibliotekę z PyPI za pomocą następującego polecenia.

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

W przypadku instalacji ręcznej przy użyciu pliku .whl można wykonać poniższe czynności.

  • Pobierz instalowalny plik .whl z sekcji pliki do pobrania.
  • Z wiersza poleceń użyj polecenia: pip install «FileName> >.whl, aby zainstalować bibliotekę.

Połącz się z serwerem e-mail przez IMAP w Python

Poniżej przedstawiono kroki, aby połączyć się z serwerem poczty e-mail za pomocą protokołu IMAP.

  1. Utwórz instancję klasy ImapClient i zainicjuj ją za pomocą nazwy hosta, portu, nazwy użytkownika i hasła.
  2. Użyj obiektu ImapClient, aby uzyskać dostęp do skrzynki pocztowej.

Poniższy przykładowy kod pokazuje, jak połączyć się z serwerem poczty e-mail przy użyciu protokołu IMAP w języku Python.

from aspose.email import SecurityOptions, ImapClient

# utwórz instancję ImapClient i podaj hosta, port, nazwę użytkownika i hasło
client = ImapClient("imap.domain.com", 993, "user@domain.com", "password")

# ustaw opcje bezpieczeństwa
client.security_options = SecurityOptions.SSLIMPLICIT

# użyj obiektu ImapClient, aby uzyskać dostęp do skrzynki pocztowej

Python: Uzyskaj dostęp do folderów e-mail w skrzynce pocztowej

Po nawiązaniu połączenia z serwerem e-mail możesz wybrać folder, z którego chcesz czytać wiadomości e-mail. Najpierw sprawdźmy, jak uzyskać listę wszystkich folderów w skrzynce pocztowej. Poniżej przedstawiono kroki, aby uzyskać informacje o każdym folderze.

  1. Utwórz instancję klasy ImapClient i zainicjuj ją za pomocą nazwy hosta, portu, nazwy użytkownika i hasła.
  2. Użyj metody ImapClient.listfolders(), aby pobrać kolekcję folderów w obiekcie.
  3. Przejrzyj kolekcję i odzyskaj szczegóły folderów.

Poniższy przykładowy kod pokazuje, jak wydrukować szczegóły folderów w skrzynce pocztowej.

from aspose.email import ImapClient

# utwórz instancję ImapClient i podaj hosta, port, nazwę użytkownika i hasło
with ImapClient("imap.gmail.com", 993, "username", "password") as client:

    # uzyskać listę folderów
    folderInfoColl = client.list_folders()

    # przeglądaj kolekcję, aby uzyskać informacje o folderach jeden po drugim
   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))
    

Przejdźmy teraz do uzyskania dostępu do określonego folderu w skrzynce pocztowej za pomocą protokołu IMAP.

  1. Utwórz instancję klasy ImapClient i zainicjuj ją za pomocą nazwy hosta, portu, nazwy użytkownika i hasła.
  2. Użyj metody ImapClient.selectfolder(string), aby wybrać folder.

Poniższy przykładowy kod pokazuje, jak wybrać folder poczty e-mail ze skrzynki pocztowej.

from aspose.email import ImapClient

# utwórz instancję ImapClient i podaj hosta, port, nazwę użytkownika i hasło
with ImapClient("imap.gmail.com", 993, "username", "password") as client:

    # wybierz folder ze skrzynki pocztowej
    client.select_folder("Inbox")

Czytaj e-maile z folderu w Python

Poniżej przedstawiono kroki, aby odczytać wiadomości e-mail z określonego folderu w skrzynce pocztowej za pomocą języka Python.

  1. Utwórz instancję klasy ImapClient i zainicjuj ją za pomocą nazwy hosta, portu, nazwy użytkownika i hasła.
  2. Użyj metody ImapClient.selectfolder(string), aby wybrać folder.
  3. Pobierz listę wiadomości w folderze za pomocą metody client.listmessages().
  4. Przejrzyj kolekcję wiadomości.
  5. Uzyskaj szczegółowe informacje o każdej wiadomości e-mail iw razie potrzeby zapisz ją na dysku.

Poniższy przykładowy kod pokazuje, jak odczytywać wiadomości e-mail z serwera poczty e-mail w języku Python.

from aspose.email import ImapClient

# utwórz instancję ImapClient i podaj hosta, port, nazwę użytkownika i hasło
with ImapClient("imap.gmail.com", 993, "username", "password") as client:

        # Wybierz katalog
        client.select_folder("Inbox")

        # przeczytaj każdą wiadomość w kolekcji
       for msg in client.list_messages():
            print( "From: '{}', MIME Id: {}".format(msg.from_address, msg.message_id) )
            
            # zapisz wiadomość na dysku
            client.save_message(msg.unique_id, msg.unique_id + "_out.eml")

Biblioteka Python do czytania e-maili przez IMAP — Uzyskaj bezpłatną licencję

Możesz czytać e-maile przez IMAP za pomocą Aspose.Email for Python za darmo, uzyskując tymczasową licencję.

Wniosek

W tym artykule nauczyłeś się czytać wiadomości e-mail z serwera pocztowego przy użyciu protokołu IMAP w Python. Przykładowe kody pokazały, jak połączyć się z serwerem pocztowym, uzyskać listę folderów w skrzynce pocztowej, wybrać folder i czytać wiadomości e-mail. Ponadto możesz odwiedzić dokumentację, aby dowiedzieć się więcej o Aspose.Email for Python przez .NET. Możesz także pobrać kompletny pakiet próbek kodu źródłowego z GitHub. Jeśli masz jakieś pytania lub wątpliwości, daj nam znać za pośrednictwem naszego forum.

Zobacz też