IMAP 서버에서 메시지 플래그 관리

Aspose.Email for Python via .NET를 사용하면 Python 애플리케이션에서 직접 Read, Answered, Deleted 및 사용자 정의 키워드와 같은 IMAP 메시지 플래그를 관리할 수 있습니다. 이러한 플래그는 메일함 내 이메일 메시지의 상태나 상황을 표시하는 데 도움이 되며, 조직적인 이메일 워크플로우를 구축하는 데 유용합니다.

이 문서에서는 다음 내용에 대해 설명합니다:

  • 표준 IMAP 시스템 플래그 설정 및 제거

  • 메시지에 사용자 정의 키워드 플래그 할당

메서드 사용됨:

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

지원되는 플래그:

  • Answered
  • Deleted
  • Draft
  • Flagged
  • IsRead
  • Recent
  • 사용자 정의 키워드 플래그

IMAP 메시지 플래그 설정

다음 사용 change_message_flags() 메서드 ImapClient 표준 플래그인 IsRead 또는 Deleted를 메시지에 적용하는 클래스입니다. 이 메서드는 메시지 식별자(시퀀스 번호 또는 UID)와 하나 이상 플래그를 매개변수로 받습니다.

다음 코드 스니펫은 Aspose.Email을 사용하여 IMAP 서버에서 메시지 플래그를 설정하는 방법을 보여줍니다:

메시지 플래그 제거

시스템 또는 사용자 정의 플래그를 다음을 사용하여 제거할 수 있습니다 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")