in server/src/main/java/org/apache/hupa/server/utils/MessageUtils.java [239:270]
public static Part handleMultiPart(Log logger, Object content, String attachmentName)
throws MessagingException, IOException {
if (content instanceof Multipart) {
Multipart part = (Multipart) content;
for (int i = 0; i < part.getCount(); i++) {
Part bodyPart = part.getBodyPart(i);
String fileName = bodyPart.getFileName();
String[] contentId = bodyPart.getHeader("Content-ID");
if (bodyPart.isMimeType("multipart/*")) {
Part p = handleMultiPart(logger, bodyPart.getContent(), attachmentName);
if (p != null)
return p;
} else {
if (contentId != null) {
for (String id: contentId) {
id = id.replaceAll("^.*<(.+)>.*$", "$1");
System.out.println(attachmentName + " " + id);
if (attachmentName.equals(id))
return bodyPart;
}
}
if (fileName != null) {
if (cleanName(attachmentName).equalsIgnoreCase(cleanName(MimeUtility.decodeText(fileName))))
return bodyPart;
}
}
}
} else {
logger.error("Unknown content: " + content.getClass().getName());
}
return null;
}