Управление на флагове на съобщения в IMAP сървър

Aspose.Email за Python чрез .NET ви позволява директно от вашето Python приложение да управлявате флагове на IMAP съобщения като Read, Answered, Deleted и персонализирани ключови думи. Тези флагове помагат да се маркира състоянието или статуса на имейл съобщенията в кутията и са полезни за създаване на организирани имейл работни процеси.

Тази статия обхваща как да:

  • Задаване и премахване на стандартни системни флагове за IMAP

  • Присвояване на персонализирани ключови думи‑флагове към съобщения

Ключът методи използвани:

  • change_message_flags()
  • remove_message_flags()
  • add_message_flags()

Поддържани флагове:

  • Answered
  • Deleted
  • Draft
  • Flagged
  • IsRead
  • Recent
  • Персонализирани ключови думи‑флагове

Задаване на флагове за IMAP съобщения

Използвайте change_message_flags() метод на ImapClient клас за прилагане на стандартни флагове като IsRead или Deleted към съобщения. Този метод приема идентификатор на съобщение (пореден номер или UID) и един или повече флагове.

Следният кодов откъс показва как да зададете флагове на съобщения в IMAP сървър с Aspose.Email:

Премахване на флагове от съобщения

Можете да премахнете системни или персонализирани флагове, използвайки remove_message_flags() метод на ImapClient клас. Това обикновено се използва за премахване на маркировката за прочетено или изтрито. Следният примерен код демонстрира как да се премахне флагът ‘is_read’ с една единствена ред на код:

# Remove the 'is_read' flag from the message
client.remove_message_flags(1, ae.clients.imap.ImapMessageFlags.is_read)

Добавяне на персонализирани ключови думи‑флагове към IMAP съобщения

Aspose.Email също поддържа присвояване на персонализирани ключови думи‑флагове, използвайки add_message_flags() метод на ImapClient клас. Тези потребителски дефинирани флагове могат да бъдат полезни за категоризация или правила за обработка.

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")