IMAP-extensies inschakelen
Ondersteuning voor IMAP‑extensies
Aspose.Email‑API biedt ondersteuning voor een reeks IMAP‑protocolextensies. Deze extensies maken gevorderde bewerkingen mogelijk, zoals het identificeren van client‑applicaties en het ophalen van gedetailleerde mailbox‑metadata. Hoewel niet alle e‑mailservers deze functies ondersteunen, doen veel populaire diensten zoals Gmail dit wel.
Dit artikel toont hoe je de volgende IMAP‑extensies gebruikt met de ImapClient klasse in Aspose.Email:
-
IMAP ID‑commando
-
IMAP LIST-EXTENDED‑commando
Het gebruiken van het IMAP ID‑commando
Dit commando geeft feedback over of de server de IMAP ID‑extensie ondersteunt en retourneert gestructureerde identificatiedetails van de server. Dit kan nuttig zijn voor logboekregistratie, diagnostiek en het aanpassen van servergedrag.
De volgende codevoorbeeld toont hoe je de Aspose.Email‑bibliotheek gebruikt om met een IMAP‑server te communiceren, specifiek om serveridentificatie‑informatie op te halen met het ID‑commando:
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)
Het gebruiken van het IMAP LIST-EXTENDED-commando
Het IMAP LIST-EXTENDED-commando (gedefinieerd in RFC 5258) stelt clients in staat gedetailleerde mappenhiërarchieën en metadata op te halen, zoals of mappen onderliggende mappen hebben. Dit is vooral handig voor clients die complexe mailbox‑structuren beheren.
De volgende codevoorbeeld toont hoe je mappen in Gmail kunt weergeven met het uitgebreide LIST-commando en verifieert welke mappen submappen bevatten:
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)