Gestisci i flag dei messaggi sul server IMAP
Aspose.Email per Python tramite .NET consente di gestire i flag dei messaggi IMAP come Read, Answered, Deleted e parole chiave personalizzate direttamente dalla tua applicazione Python. Questi flag aiutano a contrassegnare lo stato o la situazione dei messaggi email nella casella di posta e sono utili per creare flussi di lavoro email organizzati.
Questo articolo illustra come:
-
Imposta e rimuovi i flag di sistema IMAP standard
-
Assegna flag di parole chiave personalizzate ai messaggi
La chiave metodi usato:
- change_message_flags()
- remove_message_flags()
- add_message_flags()
Flag supportati:
- Answered
- Deleted
- Draft
- Flagged
- IsRead
- Recent
- Flag parole chiave personalizzate
Imposta flag dei messaggi IMAP
Usa il change_message_flags() metodo del ImapClient classe per applicare flag standard come IsRead o Deleted ai messaggi. Questo metodo accetta un identificatore del messaggio (numero di sequenza o UID) e uno o più flag.
Il frammento di codice seguente mostra come impostare i flag dei messaggi su un server IMAP con Aspose.Email:
Rimuovi flag dei messaggi
Puoi rimuovere flag di sistema o personalizzati usando il remove_message_flags() metodo del ImapClient classe. Questo è comunemente usato per rimuovere il contrassegno di lettura o cancellazione dei messaggi. L’esempio di codice qui sotto dimostra come rimuovere il flag ‘is_read’ con una sola riga di codice:
# Remove the 'is_read' flag from the message
client.remove_message_flags(1, ae.clients.imap.ImapMessageFlags.is_read)
Aggiungi flag di parole chiave personalizzate ai messaggi IMAP
Aspose.Email supporta anche l’assegnazione di flag di parole chiave personalizzate usando il add_message_flags() metodo del ImapClient classe. Questi flag definiti dall’utente possono essere utili per regole di categorizzazione o elaborazione.
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")