diff --git a/src/main/java/org/simplejavamail/outlookmessageparser/model/OutlookFileAttachment.java b/src/main/java/org/simplejavamail/outlookmessageparser/model/OutlookFileAttachment.java index 03230eb..b0ac647 100644 --- a/src/main/java/org/simplejavamail/outlookmessageparser/model/OutlookFileAttachment.java +++ b/src/main/java/org/simplejavamail/outlookmessageparser/model/OutlookFileAttachment.java @@ -20,6 +20,10 @@ public class OutlookFileAttachment implements OutlookAttachment { * Mime type of the attachment */ private String mimeTag; + /** + * CID of the attachment + */ + private String contentId; /** * The extension of the attachment (may not be set). */ @@ -58,6 +62,9 @@ public void setProperty(final OutlookMessageProperty msgProp) { case "3703": setExtension((String) value); break; + case "3712": + setContentId((String) value); + break; default: // property to ignore, for full list see properties-list.txt } @@ -89,6 +96,21 @@ public String toString() { return (longFilename != null) ? longFilename : filename; } + /** + * Bean getter for {@link #contentId}. + */ + @SuppressWarnings("ElementOnlyUsedFromTestCode") + public String getContentId() { + return contentId; + } + + /** + * Bean setter for {@link #contentId}. + */ + void setContentId(final String contentId) { + this.contentId = contentId; + } + /** * Bean getter for {@link #extension}. */ diff --git a/src/main/java/org/simplejavamail/outlookmessageparser/model/OutlookMessage.java b/src/main/java/org/simplejavamail/outlookmessageparser/model/OutlookMessage.java index 56c1ffe..b64ad6f 100644 --- a/src/main/java/org/simplejavamail/outlookmessageparser/model/OutlookMessage.java +++ b/src/main/java/org/simplejavamail/outlookmessageparser/model/OutlookMessage.java @@ -313,8 +313,10 @@ public Map fetchCIDMap() { for (final OutlookAttachment attachment : getOutlookAttachments()) { if (attachment instanceof OutlookFileAttachment) { final OutlookFileAttachment fileAttachment = (OutlookFileAttachment) attachment; - if (!tryAddCid(cidMap, html, fileAttachment, fileAttachment.getFilename())) { - tryAddCid(cidMap, html, fileAttachment, fileAttachment.getLongFilename()); + if (!tryAddCid(cidMap, html, fileAttachment, fileAttachment.getContentId())) { + if (!tryAddCid(cidMap, html, fileAttachment, fileAttachment.getFilename())) { + tryAddCid(cidMap, html, fileAttachment, fileAttachment.getLongFilename()); + } } } }