package com.aspose.email.examples.imap; import com.aspose.email.ImapClient; import com.aspose.email.ImapFolderInfo; import com.aspose.email.ImapMessageInfo; import com.aspose.email.ImapMessageInfoCollection; import com.aspose.email.MailMessage; import com.aspose.email.SecurityOptions; import com.aspose.email.system.collections.generic.List; public class DeleteMessages { public static void main(String[] args) { deleteMessagesBySequenceNumber(); deleteMessagesUsingMessageId(); deleteSetOfMessagesUsingMessageUIDs(); } public static void deleteMessagesBySequenceNumber() { ImapClient client = new ImapClient(); client.setHost("imap.gmail.com"); client.setPort(993); client.setUsername("username"); client.setPassword("password"); client.setSecurityOptions(SecurityOptions.Auto); client.selectFolder(ImapFolderInfo.IN_BOX); client.deleteMessage(1); } public static void deleteMessagesUsingMessageId() { ImapClient client = new ImapClient(); client.setHost("imap.gmail.com"); client.setPort(993); client.setUsername("username"); client.setPassword("password"); client.setSecurityOptions(SecurityOptions.Auto); client.selectFolder(ImapFolderInfo.IN_BOX); ImapMessageInfoCollection coll = client.listMessages(); for (ImapMessageInfo msgInfo : coll) { client.deleteMessage(msgInfo.getUniqueId()); } } public static void deleteSetOfMessagesUsingMessageUIDs() { final ImapClient client = new ImapClient("exchange.domain.com", "username", "password"); try { try { System.out.println(client.getUidPlusSupported()); //select the Inbox folder of server client.selectFolder(ImapFolderInfo.IN_BOX); //The following list variable will contain messages UIDs List<String> uidList = new List<String>(); //Create 5 test messages and append them to server's mailbox final int messageNumber = 5; for (int i = 0; i < messageNumber; i++) { //Create a new message MailMessage message = new MailMessage("from@domain.com", "to@domain.com", "Deleting Multiple Messages using ImapClient based on Message UIDs", "EMAILNET-35226: Add ability in ImapClient to delete a set of messages"); //Append the message to server String uid = client.appendMessage(message); //Add the message Unique Id to the storage list uidList.add(uid); } //Retrieve the list of messages and verify the message count final ImapMessageInfoCollection[] messageInfoCol = { null }; messageInfoCol[0] = client.listMessages(); System.out.println(messageInfoCol[0].size()); //Now delete the messages using the messages' UIDs client.deleteMessagesByUids(uidList, true); client.commitDeletes(); messageInfoCol[0] = client.listMessages(); System.out.println(messageInfoCol[0].size()); } finally { } } finally { client.dispose(); } } }