Spravovat značky zpráv na serveru IMAP

Aspose.Email pro Python přes .NET vám umožňuje spravovat IMAP značky zpráv jako Read, Answered, Deleted a Custom Keywords přímo z vaší Python aplikace. Tyto značky pomáhají označovat stav nebo status e‑mailových zpráv v poštovní schránce a jsou užitečné pro vytváření organizovaných e‑mailových pracovních postupů.

Tento článek popisuje, jak:

  • Nastavit a odstranit standardní systémové IMAP značky

  • Přiřadit vlastní značky klíčových slov zprávám

Klíč metody použito:

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

Podporované značky:

  • Zodpovězeno
  • Smazáno
  • Návrh
  • Označeno
  • IsRead
  • Nedávné
  • Vlastní značky klíčových slov

Nastavit IMAP značky zpráv

Použijte change_message_flags() metoda třídy ImapClient třída pro aplikaci standardních značek, jako je IsRead nebo Deleted, na zprávy. Tato metoda přijímá identifikátor zprávy (pořadové číslo nebo UID) a jednu či více značek.

Níže uvedený úryvek kódu ukazuje, jak nastavit značky zpráv na serveru IMAP pomocí Aspose.Email:

Odstranit značky zpráv

Systémové nebo vlastní značky můžete odstranit pomocí remove_message_flags() metoda třídy ImapClient třída. Toto se běžně používá k odebrání označení zpráv jako přečtených nebo smazaných. Níže uvedený ukázkový kód ukazuje, jak odebrat značku ‘is_read’ jediným řádkem kódu:

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

Přidat vlastní klíčové značky k IMAP zprávám

Aspose.Email také podporuje přiřazování vlastních klíčových značek pomocí add_message_flags() metoda třídy ImapClient třída. Tyto uživatelem definované značky mohou být užitečné pro kategorizaci nebo pravidla zpracování.

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