private boolean containsPartWithMimeType(Part part, String... wantedMimeTypes) { String mimeType = part.getMimeType(); if (isMimeTypeAnyOf(mimeType, wantedMimeTypes)) { return true; } Body body = part.getBody(); if (body instanceof Multipart) { Multipart multipart = (Multipart) body; for (BodyPart bodyPart : multipart.getBodyParts()) { if (containsPartWithMimeType(bodyPart, wantedMimeTypes)) { return true; } } } return false; }