You should be able to do this via the standard APIs.
First you need to get a reference to the Message
(or messages) you want to delete - if you're successfully reading them then you're already able to do this. Now, there's no explicit delete() operation, but you can mark a message as deleted like so:
message.setFlags(Flags.Flag.DELETED, true);
This will mark the message as deleted (which is typically what a delete operation will do in a desktop IMAP client). In order to force the deleted messages to be expunged, when you're finished with the Folder
(s) in which they reside, call
folder.close(true);
where the true flag instructs the server to expunge all deleted messages.
And voila! The client should no longer see these messages when he connects to the server with any IMAP client.