Heim Backend-Entwicklung Python-Tutorial So verwenden Sie das imaplib-Modul zum Empfangen von E-Mails in Python 3.x

So verwenden Sie das imaplib-Modul zum Empfangen von E-Mails in Python 3.x

Jul 31, 2023 pm 06:57 PM
邮件 python x imaplib

So verwenden Sie das imaplib-Modul zum Empfangen von E-Mails in Python 3.x

Einführung:
In der modernen Gesellschaft sind E-Mails zu einem wesentlichen Bestandteil der Arbeit und des Lebens der Menschen geworden. Als Entwickler müssen wir manchmal Programme schreiben, um eingehende E-Mails zu empfangen und zu verarbeiten. Python bietet eine Fülle von Bibliotheken zur Implementierung dieser Funktion, unter denen das Modul imaplib ein sehr nützliches Werkzeug ist. In diesem Artikel stellen wir vor, wie Sie das imaplib-Modul in Python 3.x zum Empfangen von E-Mails verwenden.

Schritt 1: Installieren Sie das imaplib-Modul
Bevor Sie beginnen, stellen Sie sicher, dass das imaplib-Modul in Ihrer Python-Umgebung installiert ist. Wenn es nicht installiert ist, können Sie es installieren, indem Sie den folgenden Befehl ausführen:

pip install imaplib
Nach dem Login kopieren

Schritt 2: Importieren Sie die erforderlichen Bibliotheken
Bevor wir das Programm schreiben, müssen wir zunächst das imaplib-Modul und andere verwandte Bibliotheken importieren.

import imaplib
import email
from email.header import decode_header
Nach dem Login kopieren

Schritt 3: Mit dem Mailserver verbinden
Um E-Mails zu empfangen, müssen wir uns mit dem Mailserver verbinden. Mit der IMAP4_SSL-Funktion des imaplib-Moduls kann eine verschlüsselte IMAP-Verbindung aufgebaut werden.

# 设置IMAP服务器地址和端口
imap_server = "imap.example.com"
imap_port = 993

# 建立与IMAP服务器的连接
imap_connection = imaplib.IMAP4_SSL(imap_server, imap_port)
Nach dem Login kopieren

Schritt 4: Melden Sie sich bei Ihrem Postfach an
Nach erfolgreicher Verbindung mit dem IMAP-Server müssen wir uns bei unserem Postfach anmelden. Verwenden Sie dazu die Methode login() des IMAP-Objekts.

# 输入邮箱账户和密码
email_address = "your_email@example.com"
password = "your_password"

# 登录到邮箱
try:
    imap_connection.login(email_address, password)
except Exception as e:
    print("登录失败:", str(e))
    exit(1)  # 退出程序
Nach dem Login kopieren

Schritt 5: Wählen Sie die zu verarbeitende E-Mail-Adresse aus
Nach erfolgreicher Anmeldung müssen wir die E-Mail-Adresse auswählen, um E-Mails zu empfangen. Mit der Methode select() des IMAP-Objekts kann ein Postfach ausgewählt werden.

# 选择收件箱
mailbox = "INBOX"
try:
    imap_connection.select(mailbox)
except Exception as e:
    print("选择邮箱失败:", str(e))
    exit(1)  # 退出程序
Nach dem Login kopieren

Schritt 6: E-Mails durchsuchen
Sobald das Postfach ausgewählt ist, können wir die Methode search() verwenden, um nach E-Mails zu suchen. Sie können die gewünschten E-Mails filtern, indem Sie Suchkriterien angeben.

# 搜索条件
search_criteria = 'ALL'

# 搜索邮件
try:
    status, message_ids = imap_connection.search(None, search_criteria)
except Exception as e:
    print("搜索邮件失败:", str(e))
    exit(1)  # 退出程序

# 将邮件ID列表拆分为单独的邮件ID
message_id_list = message_ids[0].split()
Nach dem Login kopieren

Schritt 7: E-Mails durchgehen und verarbeiten
Nachdem wir nach E-Mails gesucht haben, können wir die E-Mails durchgehen und jede E-Mail verarbeiten.

# 遍历邮件ID列表并处理每封邮件
for message_id in message_id_list:
    try:
        status, message_data = imap_connection.fetch(message_id, "(RFC822)")
    except Exception as e:
        print("获取邮件失败:", str(e))
        continue

    # 邮件内容
    raw_email = message_data[0][1]
    email_message = email.message_from_bytes(raw_email)

    # 解析邮件头部
    subject = decode_header(email_message["Subject"])[0][0]
    sender = decode_header(email_message["From"])[0][0]
    recipient = decode_header(email_message["To"])[0][0]

    # 打印邮件信息
    print("邮件主题:", subject)
    print("发件人:", sender)
    print("收件人:", recipient)

    # 如果邮件有附件
    if email_message.get_content_maintype() == "multipart":
        for part in email_message.walk():
            content_type = part.get_content_type()
            if "application" in content_type:
                save_attachment(part)
Nach dem Login kopieren

Schritt 8: Anhang speichern (optional)
Wenn die E-Mail einen Anhang hat, können wir den folgenden Code verwenden, um den Anhang zu speichern.

def save_attachment(part):
    filename = part.get_filename()
    
    if filename:
        with open(filename, "wb") as f:
            f.write(part.get_payload(decode=True))
        print("保存附件:", filename)
Nach dem Login kopieren

Schritt 9: Verbindung zum IMAP-Server schließen
Wenn wir mit der Bearbeitung der Mail fertig sind, sollten wir die Verbindung zum IMAP-Server schließen.

# 关闭与IMAP服务器的连接
try:
    imap_connection.logout()
except Exception as e:
    print("退出登录失败:", str(e))
    exit(1)  # 退出程序
Nach dem Login kopieren

Zusammenfassung:
In diesem Artikel wird erläutert, wie Sie das imaplib-Modul in Python 3.x zum Empfangen von E-Mails verwenden. Wir schließen die Aufgabe ab, indem wir eine Verbindung zum IMAP-Server herstellen, uns beim Postfach anmelden, das Postfach auswählen, nach der E-Mail suchen, die E-Mail durchsuchen und die E-Mail verarbeiten. Das imaplib-Modul bietet eine Fülle von Funktionen und Methoden, um verschiedene Anforderungen beim Empfang von E-Mails zu erfüllen. Durch die Beherrschung dieses Wissens können wir leistungsstarke und effiziente Mailverarbeitungsprogramme schreiben.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie das imaplib-Modul zum Empfangen von E-Mails in Python 3.x. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Outlook-E-Mails aus der Systemsteuerung in Windows 11 verloren Outlook-E-Mails aus der Systemsteuerung in Windows 11 verloren Feb 29, 2024 pm 03:16 PM

Fehlt das Outlook-Mail-Symbol in der Systemsteuerung von Windows 11? Diese unerwartete Situation hat bei einigen Personen, die sich für ihre Kommunikationsbedürfnisse auf OutlookMail verlassen, Verwirrung und Besorgnis hervorgerufen. Warum werden meine Outlook-E-Mails nicht in der Systemsteuerung angezeigt? Es kann mehrere mögliche Gründe dafür geben, dass in der Systemsteuerung keine Outlook-Mailsymbole angezeigt werden: Outlook ist nicht korrekt installiert. Durch die Installation von Office-Anwendungen aus dem Microsoft Store wird das Mail-Applet nicht zur Systemsteuerung hinzugefügt. Der Speicherort der Datei mlcfg32.cpl in der Systemsteuerung fehlt. Der Pfad zur Datei mlcfg32.cpl in der Registrierung ist falsch. Das Betriebssystem ist derzeit nicht für die Ausführung dieser Anwendung konfiguriert

Beim Serienbrief von Word wird eine leere Seite gedruckt Beim Serienbrief von Word wird eine leere Seite gedruckt Feb 19, 2024 pm 04:51 PM

Wenn Sie feststellen, dass beim Drucken eines Seriendruckdokuments mit Word leere Seiten erscheinen, hilft Ihnen dieser Artikel weiter. Serienbrief ist eine praktische Funktion, mit der Sie ganz einfach personalisierte Dokumente erstellen und an mehrere Empfänger senden können. In Microsoft Word genießt die Serienbrieffunktion hohes Ansehen, da sie Benutzern hilft, Zeit zu sparen, indem sie für jeden Empfänger denselben Inhalt manuell kopieren. Um das Serienbriefdokument auszudrucken, können Sie auf die Registerkarte Mailings gehen. Einige Word-Benutzer haben jedoch berichtet, dass der Drucker beim Versuch, ein Serienbriefdokument zu drucken, eine leere Seite druckt oder überhaupt nicht druckt. Dies kann an einer falschen Formatierung oder Druckereinstellungen liegen. Überprüfen Sie die Dokument- und Druckereinstellungen und stellen Sie sicher, dass Sie vor dem Drucken eine Vorschau des Dokuments anzeigen, um sicherzustellen, dass der Inhalt korrekt ist. Wenn

PHP sendet E-Mails asynchron: Vermeiden Sie lange Wartezeiten auf den Versand von E-Mails. PHP sendet E-Mails asynchron: Vermeiden Sie lange Wartezeiten auf den Versand von E-Mails. Sep 19, 2023 am 09:10 AM

PHP sendet E-Mails asynchron: Vermeiden Sie lange Wartezeiten auf den Versand von E-Mails. Einleitung: In der Webentwicklung ist das Versenden von E-Mails eine der häufigsten Funktionen. Da das Senden von E-Mails jedoch eine Kommunikation mit dem Server erfordert, führt dies häufig dazu, dass Benutzer lange warten müssen, bis die E-Mail gesendet wird. Um dieses Problem zu lösen, können wir PHP verwenden, um E-Mails asynchron zu versenden und so das Benutzererlebnis zu optimieren. In diesem Artikel erfahren Sie anhand spezifischer Codebeispiele, wie Sie PHP implementieren, um E-Mails asynchron zu versenden und lange Wartezeiten zu vermeiden. 1. Das asynchrone Senden von E-Mails verstehen

PHP-E-Mail-Tracking-Funktion: Benutzerverhalten und Feedback zu E-Mails verstehen. PHP-E-Mail-Tracking-Funktion: Benutzerverhalten und Feedback zu E-Mails verstehen. Sep 19, 2023 am 08:51 AM

PHP-E-Mail-Tracking-Funktion: Benutzerverhalten und Feedback zu E-Mails verstehen In der modernen Gesellschaft sind E-Mails zu einem unverzichtbaren Bestandteil des täglichen Lebens und der Arbeit der Menschen geworden. Für Unternehmen ist das Versenden von E-Mails eine der wichtigsten Möglichkeiten, mit Kunden zu kommunizieren und Produkte oder Dienstleistungen zu bewerben. Woher wissen wir jedoch nach dem Versenden einer E-Mail, ob sie empfangen und gelesen wurde und wie der Benutzer auf den Inhalt der E-Mail reagiert hat? Zu diesem Zeitpunkt kommt der E-Mail-Tracking-Funktion eine besondere Bedeutung zu. Die E-Mail-Tracking-Funktion kann uns helfen, das Nutzerverhalten und Feedback zu E-Mails zu verstehen

So verwenden Sie die Voicemail-Transkription in Echtzeit auf dem iPhone So verwenden Sie die Voicemail-Transkription in Echtzeit auf dem iPhone Nov 18, 2023 pm 04:03 PM

Was ist Echtzeit-Voicemail-Transkription? Live-Voicemail-Transkription ist eine innovative Funktion, die in iOS 16 eingeführt wurde und es iPhone-Benutzern ermöglicht, eine Live-Transkription ihrer Voicemail anzusehen, während sie diese verlassen. Diese Funktion nutzt fortschrittliche Spracherkennungstechnologie, um gesprochene Wörter in Text umzuwandeln. Dies bietet eine bequeme und leicht zugängliche Möglichkeit, über die neuesten Nachrichten auf dem Laufenden zu bleiben, ohne sie vollständig anhören zu müssen. Vorteile der Verwendung der Live-Voicemail-Transkription Die Live-Voicemail-Transkription bietet iPhone-Benutzern mehrere Vorteile: Verbesserte Produktivität: Durch die Echtzeit-Transkription spart die Live-Voicemail-Transkription den Benutzern Zeit und Aufwand, da sie nicht mehr die gesamte Voicemail abhören müssen. Dadurch können Benutzer den Inhalt von Voicemails schnell scannen und ihre Antworten priorisieren. Zugänglichkeit für hörgeschädigte Benutzer

Win10-E-Mails können auf diese Kontolösung nicht zugreifen Win10-E-Mails können auf diese Kontolösung nicht zugreifen Jan 07, 2024 pm 03:02 PM

Das Win10-Postfach ist im System vorhanden, das mit Win10 geliefert wird. Wenn Sie es verwenden, stellen Sie beispielsweise fest, dass Sie nicht auf dieses Konto zugreifen können. Schauen wir uns unten um. Was tun, wenn Win10 Mail nicht auf dieses Konto zugreifen kann: 1. Drücken Sie „Win+I“, um „Windows-Einstellungen“ zu öffnen. 2. Klicken Sie auf „Datenschutz“. 3. Suchen Sie „E-Mail“ in der linken Taskleiste. 4. Aktivieren Sie die Option im Bild

So verwenden Sie das Mathematikmodul, um mathematische Operationen in Python 3.x auszuführen So verwenden Sie das Mathematikmodul, um mathematische Operationen in Python 3.x auszuführen Aug 01, 2023 pm 03:15 PM

So verwenden Sie das Mathematikmodul, um mathematische Operationen in Python 3.x auszuführen. Einführung: Bei der Python-Programmierung ist die Durchführung mathematischer Operationen eine häufige Anforderung. Um die Verarbeitung mathematischer Operationen zu erleichtern, stellt Python die Mathematikbibliothek bereit, die viele Funktionen und Konstanten für mathematische Berechnungen und mathematische Funktionen enthält. In diesem Artikel wird erläutert, wie Sie mit dem Mathematikmodul allgemeine mathematische Operationen ausführen und entsprechende Codebeispiele bereitstellen. 1. Die Addition grundlegender mathematischer Operationen wird mit der Funktion math.add() im Mathematikmodul durchgeführt.

So verwenden Sie Pattern Matching für den Typmustervergleich in Java 14 So verwenden Sie Pattern Matching für den Typmustervergleich in Java 14 Jul 31, 2023 pm 12:01 PM

So verwenden Sie PatternMatching für den Typmustervergleich in Java14 Einführung: Java14 führt eine neue Funktion ein, PatternMatching, ein leistungsstarkes Tool, das zum Typmustervergleich zur Kompilierungszeit verwendet werden kann. In diesem Artikel wird die Verwendung von PatternMatching für den Typmustervergleich in Java14 vorgestellt und Codebeispiele bereitgestellt. Verstehen Sie das Konzept von PatternMatchingPattern

See all articles