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
- Czytaj e-maile z serwerów pocztowych 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.