W tym artykule dowiesz się, jak programowo pobierać wiadomości e-mail z serwerów pocztowych. W szczególności dowiesz się, jak połączyć się z serwerem pocztowym za pomocą protokołów IMAP lub POP3 i czytać e-maile w Python.

Biblioteka Python do odczytu wiadomości e-mail za pomocą protokołu POP3 lub IMAP

Aby odczytywać e-maile z serwerów pocztowych za pomocą POP3 lub IMAP, użyjemy Aspose.Email for Python via .NET. Jest to bogata w funkcje biblioteka poczty e-mail, która umożliwia wdrażanie klientów poczty e-mail z poziomu aplikacji Python. Możesz pobrać plik .whl lub zainstalować bibliotekę za pomocą następującego polecenia pip.

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

Czytaj e-maile z serwerów pocztowych w Python

POP3 i IMAP są powszechnie używane do pobierania wiadomości e-mail z serwerów pocztowych. W poniższych sekcjach pokazano, jak czytać wiadomości e-mail przy użyciu obu protokołów poczty e-mail oddzielnie.

Czytaj e-maile przy użyciu POP3 w Python

Poniżej przedstawiono kroki, aby czytać wiadomości e-mail za pomocą POP3 w Python.

  • Utwórz obiekt klasy Pop3Client i zainicjuj go hostem, portem, nazwą użytkownika i hasłem.
  • Ustaw opcje zabezpieczeń za pomocą właściwości Pop3Client.securityoptions.
  • Uzyskaj liczbę wiadomości za pomocą metody Pop3Client.getmessagecount().
  • Uzyskaj dostęp do każdej wiadomości w pętli za pomocą metody Pop3Client.fetchmessage().

Poniższy przykładowy kod pokazuje, jak czytać wiadomość e-mail przy użyciu protokołu POP3 w języku Python.

# utwórz klienta POP3
client = Pop3Client("pop.gmail.com", 995, "username", "password")

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

# uzyskać liczbę wiadomości
messageCount = client.get_message_count()
print("Total messages: " + str(messageCount))

# utwórz instancję klasy MailMessage, aby przeczytać wiadomość    
for i in range(0,messageCount):
    message = client.fetch_message(i+1)
    print("From:" + str(message.from_address))
    print("Subject:" + message.subject)
    print(message.html_body)

Czytaj wiadomości e-mail przy użyciu protokołu IMAP w Python

Poniżej przedstawiono kroki, aby czytać wiadomości e-mail przy użyciu protokołu IMAP w języku Python.

  • Utwórz obiekt klasy ImapClient i zainicjuj go hostem, portem, nazwą użytkownika i hasłem.
  • Wybierz folder za pomocą metody ImapClient.selectfolder(folderName).
  • Przejrzyj listę wiadomości za pomocą metody ImapClient.listmessages().

Poniższy przykładowy kod pokazuje, jak odczytywać wiadomości e-mail przy użyciu protokołu IMAP w języku Python.

# połączyć się z serwerem pocztowym za pomocą protokołu IMAP
client = ImapClient("imap.gmail.com", 993, "username", "password")

# Wybierz katalog
client.select_folder("Inbox")

# zapętlać wiadomości e-mail i zapisywać je jako pliki .eml
for msg in client.list_messages():
    print("Subject: " + msg.subject)
    print("HtmlBody: " + msg.html_body)
    print("TextBody: " + msg.body)
    client.save_message(msg.unique_id, msg.unique_id + "_out.eml")

Python Email Library — Uzyskaj bezpłatną licencję

Możesz używać Aspose.Email for Python, otrzymując darmową licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się czytać wiadomości e-mail z serwerów pocztowych za pomocą Python. W szczególności widziałeś, jak używać klientów POP3 i IMAP do pobierania i czytania wiadomości e-mail. Możesz dowiedzieć się więcej o bibliotece poczty e-mail w Python, korzystając z dokumentacji. Ponadto możesz zamieścić swoje zapytania na naszym forum.

Zobacz też