서버에서 메시지 삭제

메시지 삭제

다음은 ImapClient 클래스는 IMAP 서버에서 메시지를 삭제할 수 있습니다. ImapClient 클래스 deleteMessage() 함수는 메시지를 삭제하는 데 사용됩니다. 메시지 시퀀스 번호 또는 고유 ID를 매개변수로 받습니다. ImapClient 제공합니다 deleteMessage 및 deleteMessages 메시지를 하나씩 또는 여러 개씩 삭제하는 메서드들입니다. 다음 코드 스니펫은 IMAP 서버에서 메시지 ID 1인 이메일을 삭제하는 방법을 보여줍니다.

try (ImapClient client = new ImapClient("host", "username", "password")) {
    client.setSecurityOptions(SecurityOptions.SSLImplicit);

    // Append test message
    client.selectFolder(ImapFolderInfo.IN_BOX);

    MailMessage eml = new MailMessage("from@from.com", "to@to.com");
    eml.setSubject("Message to delete");
    eml.setBody("Hey! This Message will be deleted!");
    String emlId = client.appendMessage(eml);

    // Delete appended message
    client.deleteMessage(emlId);
    client.commitDeletes();
}

다중 메시지 삭제

메일함에서 여러 이메일을 다음을 사용하여 삭제할 수 있습니다. ImapClient Aspose.Email API의. deleteMessages 메서드는 고유 ID, 시퀀스 번호 등을 사용하여 서버에서 다수의 메시지를 삭제할 수 있는 여러 옵션을 제공합니다. ImapMessageInfoCollection 요소들. 다음 코드 스니펫은 여러 메시지를 삭제하는 방법을 보여줍니다.

try (ImapClient client = new ImapClient("host", "username", "password")) {
    client.selectFolder(ImapFolderInfo.IN_BOX);

    // Append test messages
    List<MailMessage> emlList = new ArrayList<>();
    for (int i = 0; i < 3; i++) {
        MailMessage eml = new MailMessage("from@from.com", "to@to.com");
        eml.setSubject("Message to delete " + i);
        eml.setBody("Hey! This Message will be deleted!");

        emlList.add(eml);
    }

    AppendMessagesResult appendMessagesResult = client.appendMessages(emlList);
    List<String> uidList = new ArrayList<>();
    for (String uid : appendMessagesResult.getSucceeded().getValues()) {
        uidList.add(uid);
    }

    // Bulk Delete appended Messages
    client.deleteMessagesByUids(uidList, true);
    client.commitDeletes();
}