An API that connects multiple Microsoft services, enabling data access and automation across platforms
The behavior is consistent with how “inline” is defined and surfaced, not a confirmed Graph API defect in the provided context.
Across Microsoft APIs, an attachment is considered inline only when it is explicitly marked as such in the message/attachment metadata. For example:
- In EWS and related schemas, the
IsInlineflag indicates whether the attachment appears inline within an item, and the default isfalseunless explicitly set:- EWS XML element:
Default is<IsInline>true or false</IsInline>falseif not set. - EWS managed API property:
public bool IsInline { get; set; }trueonly if the attachment is an inline attachment; otherwisefalse.
- EWS XML element:
- In UWP
EmailAttachment,IsInlineis a Boolean indicating if the attachment is included inline in the body of the message. - In other Microsoft Graph–related models (for example,
MicrosoftGraphAttachmentItemin the Azure SDK),isInlineis also documented as:true if the attachment is an inline attachment; otherwise, false.
This pattern shows that isInline simply reflects whether the underlying item/attachment was stored with the inline flag set. If the message or client did not mark those images as inline (or if they are stored as regular file attachments even though the UI renders them in the body), attachment.isInline will correctly return false.
Given the context:
- The fact that the email visually shows images “inline” in Outlook does not guarantee that the server-side representation has
isInline = true. - The Graph
Attachment.isInlinevalue beingfalsefor those Outlook-* items is therefore consistent with the general contract ofIsInlinein Microsoft APIs.
Workaround to filter “inline-like” attachments when isInline is false:
Because isInline may not be set, a practical workaround is to infer inline behavior using other properties (when available in the Graph attachment model), for example:
- Treat as inline if:
- The attachment is an image type (e.g., JPEG, PNG, GIF), and
- Its name or content ID suggests it is used in the body (e.g.,
cid:references in the HTML body, or typical Outlook naming patterns likeimage001.png,Outlook-*.png), and - It is referenced from the HTML body of the message (e.g.,
<img src="cid:...">or<img src="Outlook-...">).
- Treat as “real” file attachments if:
- The attachment is a document (PDF, Word, etc.) and not referenced in the HTML body, or
- The user-facing filename is clearly a document the sender expects as a downloadable file (like
IE Retail Store Bill 1 4.pdf).
This logic mirrors how other Microsoft APIs and clients distinguish inline vs. regular attachments when IsInline is not reliably set.
There is no explicit confirmation in the provided material that this is a Graph API defect. The behavior aligns with the documented semantics of IsInline/isInline: it is true only when the attachment is explicitly stored as inline; otherwise it remains false, even if the client UI renders it in the message body.
References: