Hantera meddelandeflaggor på IMAP-server
Aspose.Email för Python via .NET låter dig hantera IMAP-meddelandeflaggor såsom Read, Answered, Deleted och Custom Keywords direkt från din Python-applikation. Dessa flaggor hjälper till att märka statusen för e‑postmeddelanden i brevlådan och är användbara för att bygga organiserade e‑postarbetsflöden.
Denna artikel täcker hur man:
-
Ställ in och ta bort standard IMAP-systemflaggor
-
Tilldela anpassade nyckelordsflaggor till meddelanden
Nyckeln metoder används:
- change_message_flags()
- remove_message_flags()
- add_message_flags()
Stödda flaggor:
- Answered
- Deleted
- Draft
- Flagged
- IsRead
- Recent
- Anpassade nyckelordsflaggor
Ställ in IMAP-meddelandeflaggor
Använd change_message_flags() metod för ImapClient klass för att tillämpa standardflaggor som IsRead eller Deleted på meddelanden. Denna metod tar ett meddelandeidentifierare (sekvensnummer eller UID) och en eller flera flaggor.
Följande kodsnutt visar hur du ställer in meddelandeflaggor på en IMAP-server med Aspose.Email:
Ta bort meddelandeflaggor
Du kan ta bort system- eller anpassade flaggor med hjälp av remove_message_flags() metod för ImapClient klass. Detta används ofta för att avmarkera meddelanden som lästa eller raderade. Kodexemplet nedan visar hur man tar bort ‘is_read’-flaggan med endast en rad kod:
# Remove the 'is_read' flag from the message
client.remove_message_flags(1, ae.clients.imap.ImapMessageFlags.is_read)
Lägg till anpassade nyckelordsflaggor till IMAP-meddelanden
Aspose.Email stöder också att tilldela anpassade nyckelordsflaggor med hjälp av add_message_flags() metod för ImapClient klass. Dessa användardefinierade flaggor kan vara hjälpsamma för kategorisering eller bearbetningsregler.
import aspose.email as ae
client = ae.clients.imap.ImapClient("imap.domain.com", 993, "user@domain.com", "pwd", ae.clients.SecurityOptions.SSL_IMPLICIT)
# Create a new message
message = ae.MailMessage("user@domain1.com", "user@domain2.com", "subject", "message")
# Append the message to the Inbox
uid = client.append_message(ae.clients.imap.ImapFolderInfo.IN_BOX, message)
# Add custom keyword flags to the message
client.add_message_flags(uid, ae.clients.imap.ImapMessageFlags.keyword("custom1") | ae.clients.imap.ImapMessageFlags.keyword("custom1_0"))
# Verify the presence of the custom keyword
client.select_folder(ae.clients.imap.ImapFolderInfo.IN_BOX)
messageInfos = client.ListMessages()
for inf in messageInfos:
flags = inf.flags.split()
if inf.contains_keyword("custom1"):
print("Keyword found")