Gerenciar Flags de Mensagens no Servidor IMAP

Aspose.Email para Python via .NET permite que você gerencie flags de mensagens IMAP como Read, Answered, Deleted e Custom Keywords diretamente do seu aplicativo Python. Essas flags ajudam a marcar o estado ou status das mensagens de email na caixa de correio e são úteis para criar fluxos de trabalho de email organizados.

Este artigo cobre como:

  • Definir e remover flags padrão do sistema IMAP

  • Atribuir flags de palavras‑chave personalizadas às mensagens

A chave métodos usado:

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

Flags Suportadas:

  • Answered
  • Deleted
  • Draft
  • Flagged
  • IsRead
  • Recent
  • Flags de palavras‑chave personalizadas

Definir Flags de Mensagens IMAP

Use o change_message_flags() método do ImapClient classe para aplicar flags padrão como IsRead ou Deleted às mensagens. Este método recebe um identificador da mensagem (número de sequência ou UID) e uma ou mais flags.

O trecho de código a seguir mostra como definir flags de mensagens em um servidor IMAP com Aspose.Email:

Remover Flags de Mensagem

Você pode remover flags do sistema ou personalizadas usando o remove_message_flags() método do ImapClient classe. Isso é comumente usado para desmarcar mensagens como lidas ou excluídas. O exemplo de código abaixo demonstra como remover a flag ‘is_read’ com apenas uma linha de código:

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

Adicionar Flags de Palavras‑Chave Personalizadas a Mensagens IMAP

Aspose.Email também oferece suporte à atribuição de flags de palavras‑chave personalizadas usando o add_message_flags() método do ImapClient classe. Estas flags definidas pelo usuário podem ser úteis para regras de categorização ou processamento.

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