서버에서 메시지 플래그 작업

메시지 플래그 변경

메시지 플래그는 다음을 사용하여 변경할 수 있습니다. changeMessageFlags() method. 이 메서드는 두 개의 매개변수를 사용합니다.

  1. 메시지 시퀀스 번호 또는 고유 ID.
  2. MessageFlag.

다음 플래그를 설정할 수 있습니다:

메시지 플래그 설정

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

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Mark the message as read
client.changeMessageFlags(1, ImapMessageFlags.isRead());

메시지 플래그 제거

메시지 플래그는 또한 다음을 사용하여 제거할 수 있습니다. removeMessageFlags() 메서드. 사용법은 changeMessageFlags() 메서드. 시퀀스 번호 또는 고유 메시지 ID를 받아 MessageFlag. 다음 코드 스니펫은 메시지 플래그를 제거하는 방법을 보여줍니다.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Remove the message flag
client.removeMessageFlags(1, ImapMessageFlags.isRead());

사용자 정의 플래그 설정

또한 다음을 사용하여 메시지에 사용자 정의 플래그를 설정할 수 있습니다. ImapClient API의. ImapClient AddMessageFlags 메시지에 사용자 정의 플래그를 설정할 수 있는 기능을 제공합니다.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Create a message
MailMessage message = new MailMessage("user@domain1.com", "user@domain2.com", "subject", "message");

// Append the message to mailbox
String uid = client.appendMessage(ImapFolderInfo.IN_BOX, message);

// Add custom flags to the added messge
client.addMessageFlags(uid, com.aspose.email.ImapMessageFlags.op_BitwiseOr(ImapMessageFlags.keyword("custom1"), ImapMessageFlags.keyword("custom1_0")));

// Retreive the messages for checking the presence of custom flag
client.selectFolder(ImapFolderInfo.IN_BOX);

ImapMessageInfoCollection messageInfos = client.listMessages();
for (ImapMessageInfo inf : messageInfos) {
    ImapMessageFlags[] flags = inf.getFlags().split();

    if (inf.containsKeyword("custom1"))
        System.out.println("Keyword found");
}