IMAP-Erweiterungen aktivieren
Unterstützung von IMAP‑Erweiterungen
Die Aspose.Email‑API unterstützt eine Reihe von IMAP‑Protokollerweiterungen. Diese Erweiterungen ermöglichen fortgeschrittene Vorgänge wie die Identifikation von Client‑Anwendungen und das Abrufen detaillierter Postfach‑Metadaten. Während nicht alle E‑Mail‑Server diese Funktionen unterstützen, tun dies viele beliebte Dienste wie Gmail.
Dieser Artikel zeigt, wie die folgenden IMAP‑Erweiterungen mit dem verwendet werden können ImapClient Klasse in Aspose.Email:
-
IMAP ID‑Befehl
-
IMAP LIST‑EXTENDED‑Befehl
Verwendung des IMAP ID‑Befehls
Dieser Befehl gibt Rückmeldung darüber, ob der Server die IMAP‑ID‑Erweiterung unterstützt, und liefert strukturierte Identifikationsdetails vom Server. Das kann für Protokollierung, Diagnose und Anpassung des Serververhaltens nützlich sein.
Das folgende Code‑Beispiel zeigt, wie die Aspose.Email‑Bibliothek verwendet wird, um mit einem IMAP‑Server zu interagieren, insbesondere um Server‑Identifikationsinformationen mit dem ID‑Befehl abzurufen:
import aspose.email as ae
with ae.clients.imap.ImapClient("imap.gmail.com", 993, "username", "password") as client:
# Set security options
client.security_options = ae.clients.SecurityOptions.AUTO
# Check if ID command is supported
print(client.id_supported)
# Send identification info to the server
server_identification_info1 = client.introduce_client()
server_identification_info2 = client.introduce_client(ae.clients.imap.ImapIdentificationInfo.default_value)
# Display server response
print(server_identification_info1)
print(server_identification_info2)
print(server_identification_info1.name)
print(server_identification_info1.vendor)
print(server_identification_info1.support_url)
print(server_identification_info1.version)
Verwendung des IMAP LIST‑EXTENDED‑Befehls
Der IMAP‑Befehl LIST-EXTENDED (definiert in RFC 5258) ermöglicht es Clients, detaillierte Ordnerhierarchien und Metadaten abzurufen, z. B. ob Ordner Unterordner besitzen. Dies ist besonders nützlich für Clients, die komplexe Postfachstrukturen verwalten.
Das folgende Code‑Beispiel demonstriert, wie man Ordner in Gmail mit dem erweiterten LIST‑Befehl auflistet und prüft, welche Ordner Unterordner enthalten:
import aspose.email as ae
with ae.clients.imap.ImapClient("imap.gmail.com", 993, "username", "password") as client:
folder_info_col = client.list_folders("*")
print("Extended List Supported:", client.extended_list_supported)
for folder_info in folder_info_col:
folder_name = folder_info.name
if folder_name == "[Gmail]/All Mail":
print("Has Children:", folder_info.has_children)
elif folder_name == "[Gmail]/Bin":
print("Bin has children?", folder_info.has_children)
elif folder_name == "[Gmail]/Drafts":
print("Drafts has children?", folder_info.has_children)
elif folder_name == "[Gmail]/Important":
print("Important has Children?", folder_info.has_children)
elif folder_name == "[Gmail]/Sent Mail":
print("Sent Mail has Children?", folder_info.has_children)
elif folder_name == "[Gmail]/Spam":
print("Spam has Children?", folder_info.has_children)
elif folder_name == "[Gmail]/Starred":
print("Starred has Children?", folder_info.has_children)