Gérer les indicateurs de messages sur le serveur IMAP
Aspose.Email pour Python via .NET vous permet de gérer les indicateurs de messages IMAP tels que Read, Answered, Deleted et Custom Keywords directement depuis votre application Python. Ces indicateurs aident à marquer l’état ou le statut des e‑mails dans la boîte aux lettres et sont utiles pour créer des flux de travail de messagerie organisés.
Cet article explique comment :
-
Définir et supprimer les indicateurs système IMAP standards
-
Attribuer des indicateurs de mots‑clé personnalisés aux messages
La clé méthodes utilisé :
- change_message_flags()
- remove_message_flags()
- add_message_flags()
Indicateurs pris en charge :
- Answered
- Deleted
- Draft
- Flagged
- IsRead
- Recent
- Indicateurs de mots‑clé personnalisés
Définir les indicateurs de messages IMAP
Utilisez le change_message_flags() méthode du ImapClient classe pour appliquer des indicateurs standards comme IsRead ou Deleted aux messages. Cette méthode prend un identifiant de message (numéro de séquence ou UID) et un ou plusieurs indicateurs.
L’extrait de code suivant montre comment définir les indicateurs de messages sur un serveur IMAP avec Aspose.Email :
Supprimer les indicateurs de messages
Vous pouvez supprimer les indicateurs système ou personnalisés en utilisant le remove_message_flags() méthode du ImapClient classe. Cela est couramment utilisé pour désétiqueter les messages comme lus ou supprimés. L’exemple de code ci‑dessous montre comment supprimer l’indicateur ‘is_read’ en une seule ligne de code :
# Remove the 'is_read' flag from the message
client.remove_message_flags(1, ae.clients.imap.ImapMessageFlags.is_read)
Ajouter des indicateurs de mots‑clé personnalisés aux messages IMAP
Aspose.Email prend également en charge l’attribution d’indicateurs de mots‑clé personnalisés à l’aide du add_message_flags() méthode du ImapClient classe. Ces indicateurs définis par l’utilisateur peuvent être utiles pour la catégorisation ou les règles de traitement.
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")