Bekerja dengan Flag Pesan di Server

Mengubah Flag Pesan

Anda dapat mengubah flag pesan dengan menggunakan changeMessageFlags() metode. Metode ini mengambil dua parameter.

  1. Nomor urutan pesan atau ID unik.
  2. MessageFlag.

Flag berikut dapat ditetapkan:

Menetapkan Flag Pesan

Potongan kode berikut menunjukkan cara mengubah flag pesan pada server IMAP dengan Aspose.Email.

// 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());

Menghapus Flag Pesan

Flag pesan juga dapat dihapus dengan removeMessageFlags() metode. Penggunaan serupa dengan changeMessageFlags() metode. Fungsi ini menerima nomor urutan atau ID pesan unik dan MessageFlag. Potongan kode berikut menunjukkan cara menghapus flag pesan.

// 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());

Menetapkan Flag Khusus

Anda juga dapat menetapkan flag khusus ke pesan menggunakan ImapClient dari API. ImapClient AddMessageFlags menyediakan kemampuan untuk menetapkan flag khusus pada pesan.

// 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");
}