Edit

Share via


Office.AttachmentDetailsCompose interface

Represents an attachment on an item. Compose mode only.

An array of AttachmentDetailsCompose objects is returned by the getAttachmentsAsync method.

Remarks

[ API set: Mailbox 1.8 ]

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

attachmentType

Gets a value that indicates the attachment's type.

contentId

Gets the content identifier of an inline attachment.

id

Gets the index of the attachment.

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.

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 MailboxEnums.AttachmentType.Cloud.

Property Details

attachmentType

Gets a value that indicates the attachment's type.

attachmentType: MailboxEnums.AttachmentType | string;

Property Value

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 the name property. However, a message or appointment that's attached using the Forward as Attachment option is of type Office.MailboxEnums.AttachmentType.Item. In this case, an extension isn't returned in the name property.

  • 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 the name property.

  • 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 the name property.

contentId

Gets the content identifier of an inline attachment.

contentId: string;

Property Value

string

Remarks

Important:

  • The contentId property is only supported in Outlook on the web and Outlook on Windows (new and classic (preview)). To preview the contentId property 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 src attribute of the applicable <img> element. After the change, the image will be represented by a content ID (cid) in the src attribute 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 the src attribute. 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.Item doesn't return a file name extension in the name property.

  • 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 the name property. However, a message or appointment that's attached using the Forward as Attachment option is of type Office.MailboxEnums.AttachmentType.Item. In this case, an extension isn't returned in the name property.

  • 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 the name property.

  • 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 the name property.

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