Zarządzanie flagami wiadomości na serwerze IMAP
Aspose.Email dla Pythona poprzez .NET umożliwia zarządzanie flagami wiadomości IMAP, takimi jak Read, Answered, Deleted oraz Custom Keywords, bezpośrednio z aplikacji Python. Flag tych pomagają oznaczyć stan lub status wiadomości e‑mail w skrzynce i są przydatne przy budowaniu uporządkowanych przepływów pracy e‑mail.
Ten artykuł opisuje, jak:
-
Ustawianie i usuwanie standardowych flag systemu IMAP
-
Przypisywanie niestandardowych flag słów kluczowych do wiadomości
Klucz metody użyte:
- change_message_flags()
- remove_message_flags()
- add_message_flags()
Obsługiwane flagi:
- Answered
- Deleted
- Draft
- Flagged
- IsRead
- Recent
- Niestandardowe flagi słów kluczowych
Ustawianie flag wiadomości IMAP
Użyj change_message_flags() metoda ImapClient klasa służąca do zastosowania standardowych flag, takich jak IsRead lub Deleted, do wiadomości. Metoda przyjmuje identyfikator wiadomości (numer sekwencyjny lub UID) oraz jedną lub więcej flag.
Poniższy fragment kodu pokazuje, jak ustawić flagi wiadomości na serwerze IMAP przy użyciu Aspose.Email:
Usuwanie flag wiadomości
Możesz usunąć flagi systemowe lub niestandardowe używając remove_message_flags() metoda ImapClient klasa. Jest to powszechnie używane do odznaczania wiadomości jako przeczytane lub usunięte. Poniższy przykład kodu demonstruje, jak usunąć flagę ‘is_read’ jedną linią kodu:
# Remove the 'is_read' flag from the message
client.remove_message_flags(1, ae.clients.imap.ImapMessageFlags.is_read)
Dodawanie niestandardowych flag słów kluczowych do wiadomości IMAP
Aspose.Email obsługuje również przypisywanie niestandardowych flag słów kluczowych przy użyciu add_message_flags() metoda ImapClient klasa. Te flagi definiowane przez użytkownika mogą być przydatne do kategoryzacji lub reguł przetwarzania.
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")