在服务器上使用消息标记
Contents
[
Hide
]
更改邮件标志
您可以通过使用以下方式更改邮件标志。 changeMessageFlags() 方法。此方法接受两个参数。
- 消息的序列号或唯一 ID。
- 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");
}