Office.AttachmentDetailsCompose interface
Represents an attachment on an item. Compose mode only.
An array of AttachmentDetailsCompose objects is returned by the getAttachmentsAsync method.
Remarks
Minimum permission level: read item
Applicable Outlook mode: Compose
Examples
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml
Office.context.mailbox.item.getAttachmentsAsync((result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(result.error.message);
return;
}
if (result.value.length > 0) {
for (let i = 0; i < result.value.length; i++) {
const attachment = result.value[i];
let attachmentType;
switch (attachment.attachmentType) {
case Office.MailboxEnums.AttachmentType.Cloud:
attachmentType = "Attachment is stored in a cloud location";
break;
case Office.MailboxEnums.AttachmentType.File:
attachmentType = "Attachment is a file";
break;
case Office.MailboxEnums.AttachmentType.Item:
attachmentType = "Attachment is an Exchange item";
break;
}
console.log(
"ID: " +
attachment.id +
"\n" +
"Type: " +
attachmentType +
"\n" +
"Name: " +
attachment.name +
"\n" +
"Size: " +
attachment.size +
"\n" +
"isInline: " +
attachment.isInline
);
}
} else {
console.log("No attachments on this message.");
}
});
Properties
| attachment |
Gets a value that indicates the attachment's type. |
| content |
Gets the content identifier of an inline attachment. |
| id | Gets the index of the attachment. |
| is |
Gets a value that indicates whether the attachment appears as an image in the body of the item instead of in the attachment list. |
| name | Gets the name of the attachment. |
| size | Gets the size of the attachment in bytes. |
| url | Gets the url of the attachment if its type is |
Property Details
attachmentType
Gets a value that indicates the attachment's type.
attachmentType: MailboxEnums.AttachmentType | string;
Property Value
Office.MailboxEnums.AttachmentType | string
Remarks
Important:
In Outlook on the web and new Outlook on Windows, a message or appointment that's locally saved then attached using drag-and-drop or the Attach Item option is of type
Office.MailboxEnums.AttachmentType.File. The file name extension is returned in thenameproperty. However, a message or appointment that's attached using the Forward as Attachment option is of typeOffice.MailboxEnums.AttachmentType.Item. In this case, an extension isn't returned in thenameproperty.In classic Outlook on Windows, a message or appointment that's attached using drag-and-drop, Attach File, or Forward as Attachment is of type
Office.MailboxEnums.AttachmentType.Item. A file name extension isn't returned in thenameproperty.In Outlook on Mac, a message or appointment that's attached using drag-and-drop, Attach Item, or Forward as Attachment is of type
Office.MailboxEnums.AttachmentType.File. The file name extension is returned in thenameproperty.
contentId
Gets the content identifier of an inline attachment.
contentId: string;
Property Value
string
Remarks
Important:
The
contentIdproperty is only supported in Outlook on the web and Outlook on Windows (new and classic (preview)). To preview thecontentIdproperty in classic Outlook on Windows, your Outlook client must run Version 2510 (Build 19312.20000) or later and must be on the Beta Channel. For more information, see Microsoft 365 Insider Program.Starting November 15, 2025, changes to how inline images are represented in the HTML body of Outlook emails in Outlook on the web and the new Outlook on Windows will begin rolling out to production users. Previously, the attachment ID of the image appeared in the
srcattribute of the applicable<img>element. After the change, the image will be represented by a content ID (cid) in thesrcattribute instead. As a result, you'll need to update your add-in's parsing logic if you parse the attachment ID from the HTML editor or get the Base64 value of the image from the URL in thesrcattribute. For more information, see Changes to inline image representation in Outlook on the web and new Outlook for Windows.
id
Gets the index of the attachment.
id: string;
Property Value
string
isInline
Gets a value that indicates whether the attachment appears as an image in the body of the item instead of in the attachment list.
isInline: boolean;
Property Value
boolean
name
Gets the name of the attachment.
name: string;
Property Value
string
Remarks
Important:
An attachment of type
Office.MailboxEnums.AttachmentType.Itemdoesn't return a file name extension in thenameproperty.In Outlook on the web and new Outlook on Windows, a message or appointment that's locally saved then attached using drag-and-drop or the Attach Item option is of type
Office.MailboxEnums.AttachmentType.File. The file name extension is returned in thenameproperty. However, a message or appointment that's attached using the Forward as Attachment option is of typeOffice.MailboxEnums.AttachmentType.Item. In this case, an extension isn't returned in thenameproperty.In classic Outlook on Windows, a message or appointment that's attached using drag-and-drop, Attach File, or Forward as Attachment is of type
Office.MailboxEnums.AttachmentType.Item. A file name extension isn't returned in thenameproperty.In Outlook on Mac, a message or appointment that's attached using drag-and-drop, Attach Item, or Forward as Attachment is of type
Office.MailboxEnums.AttachmentType.File. The file name extension is returned in thenameproperty.
size
Gets the size of the attachment in bytes.
size: number;
Property Value
number
url
Gets the url of the attachment if its type is MailboxEnums.AttachmentType.Cloud.
url?: string;
Property Value
string