Administrar indicadores de mensajes en el servidor IMAP
Aspose.Email para Python a través de .NET le permite administrar los indicadores de mensajes IMAP como Read, Answered, Deleted y Custom Keywords directamente desde su aplicación Python. Estos indicadores ayudan a marcar el estado o la situación de los mensajes de correo en el buzón y son útiles para crear flujos de trabajo de correo electrónico organizados.
Este artículo cubre cómo:
-
Establecer y eliminar indicadores estándar del sistema IMAP
-
Asignar indicadores de palabras clave personalizadas a los mensajes
La clave métodos usado:
- change_message_flags()
- remove_message_flags()
- add_message_flags()
Banderas compatibles:
- Answered
- Deleted
- Draft
- Flagged
- IsRead
- Recent
- Indicadores de palabras clave personalizadas
Establecer indicadores de mensajes IMAP
Utilice el change_message_flags() método del ImapClient clase para aplicar indicadores estándar como IsRead o Deleted a los mensajes. Este método toma un identificador de mensaje (número de secuencia o UID) y una o más banderas.
El siguiente fragmento de código muestra cómo establecer indicadores de mensajes en un servidor IMAP con Aspose.Email:
Eliminar indicadores de mensajes
Puede eliminar indicadores del sistema o personalizados usando el remove_message_flags() método del ImapClient clase. Esto se usa comúnmente para desmarcar mensajes como leídos o eliminados. El ejemplo de código a continuación demuestra cómo eliminar la bandera ‘is_read’ con una sola línea de código:
# Remove the 'is_read' flag from the message
client.remove_message_flags(1, ae.clients.imap.ImapMessageFlags.is_read)
Agregar indicadores de palabras clave personalizadas a mensajes IMAP
Aspose.Email también admite asignar indicadores de palabras clave personalizadas usando el add_message_flags() método del ImapClient clase. Estos indicadores definidos por el usuario pueden ser útiles para reglas de categorización o procesamiento.
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")