In diesem Artikel erfahren Sie, wie Sie Email-Nachrichten programmgesteuert von den Mailservern abrufen. Insbesondere lernen Sie, wie Sie sich mit den Protokollen IMAP oder POP3 mit dem Mailserver verbinden und die Emails in Python lesen.

Python-API zum Lesen von Emails

Um Emails von den Mailservern zu lesen, verwenden wir Aspose.Email for Python via .NET. Es ist eine funktionsreiche Email-API, mit der Sie Email-Clients aus Ihren Python Anwendungen heraus implementieren können. Sie können die .whl Datei entweder herunterladen oder die API mit dem folgenden Pip Befehl installieren.

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

Lesen Sie Emails von Mailservern in Python

POP3 und IMAP werden häufig zum Abrufen von Emails von den Mailservern verwendet. Die folgenden Abschnitte zeigen, wie Sie Emails lesen können, indem Sie beide Email-Protokolle separat verwenden.

Lesen Sie Email-Nachrichten mit POP3

Im Folgenden finden Sie die Schritte zum Lesen von Email-Nachrichten mit POP3.

  • Erstellen Sie ein Objekt der Pop3Client Klasse und initialisieren Sie es mit Host, Port, Benutzername und Passwort.
  • Legen Sie Sicherheitsoptionen mit der Eigenschaft Pop3Client.security\options fest.
  • Rufen Sie die Anzahl der Nachrichten mit der methode Pop3Client.get\message\count() ab.
  • Greifen Sie mit der methode Pop3Client.fetch\message() auf jede Nachricht in einer Schleife zu.

Das folgende Codebeispiel zeigt, wie eine Email in Python mit POP3 gelesen wird.

# create POP3 client
client = Pop3Client("pop.gmail.com", 995, "username", "password")

# set security options
client.security_options = SecurityOptions.AUTO

# get message count
messageCount = client.get_message_count()
print("Total messages: " + str(messageCount))

# create an instance of the MailMessage class to read message    
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)

Lesen Sie Email-Nachrichten mit IMAP

Im Folgenden finden Sie die Schritte zum Lesen von Email-Nachrichten mit IMAP.

  • Erstellen Sie ein Objekt der ImapClient Klasse und initialisieren Sie es mit Host, Port, Benutzername und Passwort.
  • Wählen Sie den Ordner mit der methode ImapClient.select\folder(folderName) aus.
  • Durchlaufen Sie die Liste der Nachrichten mit der methode ImapClient.list\messages().

Das folgende Codebeispiel zeigt, wie Email-Nachrichten mit IMAP in Python gelesen werden.

# connect to mail server using IMAP
client = ImapClient("imap.gmail.com", 993, "username", "password")

# select folder
client.select_folder("Inbox")

# loop through email messages and save them as .eml files
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")

Holen Sie sich eine kostenlose API Lizenz

Sie können Aspose.Email for Python über .NET verwenden, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit Python Emails von Mailservern lesen. Insbesondere haben Sie gesehen, wie Sie POP3 und IMAP-Clients verwenden, um Email-Nachrichten abzurufen und zu lesen. Weitere Informationen zur Python Email API finden Sie in der Dokumentation. Darüber hinaus können Sie Ihre Fragen in unserem Forum posten.

Siehe auch