Office.MessageCompose interface

Режим создания сообщений Office.context.mailbox.item.

Важно!

Родительские интерфейсы:

Extends

Комментарии

Используется

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml

const attachmentUrl = (document.getElementById("attachmentUrl") as HTMLInputElement).value;
Office.context.mailbox.item.addFileAttachmentAsync(
  attachmentUrl,
  getFileName(attachmentUrl),
  { isInline: false },
  (result) => {
    if (result.status === Office.AsyncResultStatus.Failed) {
      console.log(`Failed to add attachment: ${result.error.message}.`);
      return;
    }
    console.log(`Added attachment with ID: ${result.value}`);
  }
);

Свойства

bcc

Получает объект, предоставляющий методы для получения или обновления получателей в строке скрытой копии сообщения.

В зависимости от клиента/платформы (например, Windows, Mac и т. д.) могут применяться ограничения на количество получателей, которых вы можете получить или обновить. Дополнительные сведения см. в объекте "Получатели ".

body

Получает объект, предоставляющий методы для работы с основным текстом элемента.

categories

Получает объект, предоставляющий методы для управления категориями элемента.

cc

Предоставляет доступ к получателям копии сообщения. Тип объекта и уровень доступа зависят от режима текущего элемента.

Свойство cc возвращает объект Recipients, предоставляющий методы для получения или обновления получателей, которые указаны в строке Копия сообщения. Однако в зависимости от клиента/платформы (например, Windows, Mac и т. д.) могут применяться ограничения на количество получателей, которых вы можете получить или обновить. Дополнительные сведения см. в объекте "Получатели ".

conversationId

Получает идентификатор разговора по электронной почте, содержащего конкретное сообщение.

Вы можете получить целочисленное значение этого свойства, если ваше почтовое приложение активируется в формах просмотра или формах создания ответов. Если пользователь изменит тему ответа, после его отправки идентификатор беседы будет изменен, и полученное ранее значение будет недействительным.

Это свойство имеет значение NULL для нового элемента в форме создания. Свойство conversationId вернет значение, если пользователь задаст тему и сохранит элемент.

delayDeliveryTime

Получает или устанавливает отложенные дату и время доставки сообщения.

Свойство delayDeliveryTimeDelayDeliveryTime возвращает объект, который предоставляет методы для управления датой и временем доставки сообщения.

from

Получает электронный адрес отправителя сообщения.

Свойство fromFrom возвращает объект, который предоставляет метод для получения значения from.

inReplyTo

Получает идентификатор интернет-сообщения исходного сообщения, на которое отвечает текущее сообщение.

internetHeaders

Получает или задает пользовательские интернет-заголовки сообщения.

Свойство internetHeaders возвращает объект, предоставляющий InternetHeaders методы для управления интернет-заголовками сообщения.

Дополнительные сведения см. в статье Создание и настройка интернет-заголовков в сообщении в надстройке Outlook.

itemType

Получает тип элемента, который представляет экземпляр.

Свойство itemTypeItemType возвращает одно из значений перечисления, указывающее, является ли экземпляр объекта элемента сообщением или встречей.

notificationMessages

Получает сообщения уведомления для элемента.

sensitivityLabel

Получает объект для получения или настройки метки конфиденциальности сообщения.

seriesId

Получает идентификатор ряда, к которому принадлежит экземпляр.

В Outlook в Интернете, в Windows (новой и классической версии) и в Mac seriesId возвращает идентификатор веб-служб Exchange (EWS) родительского элемента (серии), к которому принадлежит этот элемент. Однако в iOS и Android код seriesId возвращает REST идентификатора родительского элемента.

sessionData

Управляет данными сеанса элемента в режиме Compose.

Важно! В клиентах Outlook, поддерживающих почтовый ящик 1.15 или более ранних версий, длина всего объекта SessionData для каждого элемента почты ограничена 50 000 символов на надстройку. В клиентах, поддерживающих почтовые ящики версии 1.16 или более поздней версии, максимальная длина одной надстройки составляет 2 621 440 символов.

subject

Получает или задает описание, которое отображается в поле темы элемента.

Свойство subject получает или задает всю тему элемента для отправки с почтового сервера.

Свойство subject возвращает объект Subject, который предоставляет методы для получения и задания темы.

to

Предоставляет доступ к получателям, указанным в строке Кому сообщения. Тип объекта и уровень доступа зависят от режима текущего элемента.

Свойство to возвращает объект Recipients, предоставляющий методы для получения или обновления получателей, которые указаны в строке Кому сообщения. Однако в зависимости от клиента/платформы (например, Windows, Mac и т. д.) могут применяться ограничения на количество получателей, которых вы можете получить или обновить. Дополнительные сведения см. в объекте "Получатели ".

Методы

addFileAttachmentAsync(uri, attachmentName, options, callback)

Добавляет файл в сообщение или встречу в качестве вложения.

Метод addFileAttachmentAsync передает файл по указанному универсальному коду ресурса (URI) и вкладывает его в элемент в форме создания.

addFileAttachmentAsync(uri, attachmentName, callback)

Добавляет файл в сообщение или встречу в качестве вложения.

Метод addFileAttachmentAsync передает файл по указанному универсальному коду ресурса (URI) и вкладывает его в элемент в форме создания.

addFileAttachmentFromBase64Async(base64File, attachmentName, options, callback)

Добавляет файл в сообщение или встречу в качестве вложения.

Метод addFileAttachmentFromBase64Async загружает файл из кодировки Base64 и присоединяет его к элементу в форме создания. Этот метод возвращает идентификатор вложения в объекте asyncResult.value .

Идентификатор можно использовать с методом removeAttachmentAsync, чтобы удалить вложение, добавленное во время текущего сеанса.

addFileAttachmentFromBase64Async(base64File, attachmentName, callback)

Добавляет файл в сообщение или встречу в качестве вложения.

Метод addFileAttachmentFromBase64Async загружает файл из кодировки Base64 и присоединяет его к элементу в форме создания. Этот метод возвращает идентификатор вложения в объекте asyncResult.value .

Идентификатор можно использовать с методом removeAttachmentAsync, чтобы удалить вложение, добавленное во время текущего сеанса.

addHandlerAsync(eventType, handler, options, callback)

Добавляет обработчик для поддерживаемого события. События доступны только в надстройках области задач.

addHandlerAsync(eventType, handler, callback)

Добавляет обработчик для поддерживаемого события. События доступны только в надстройках области задач.

addItemAttachmentAsync(itemId, attachmentName, options, callback)

Добавляет к сообщению элемент Exchange, например сообщение, в виде вложения.

С помощью метода addItemAttachmentAsync можно в элемент формы создания вложить элемент с указанным идентификатором Exchange. Если вы указываете функцию обратного вызова, метод вызывается с одним параметром, который содержит либо идентификатор вложения, либо код, указывающий на любую ошибку, asyncResultвозникшую при прикреплении элемента. При необходимости можно использовать параметр options для передачи сведений о состоянии в функцию обратного вызова.

Идентификатор можно использовать с методом removeAttachmentAsync, чтобы удалить вложение, добавленное во время текущего сеанса.

Если надстройка Office работает в Outlook в Интернете или в новой версии Outlook для Windows, этот addItemAttachmentAsync метод позволяет присоединять элементы к элементам, отличным от редактируемого. Однако это не поддерживается и не рекомендуется.

addItemAttachmentAsync(itemId, attachmentName, callback)

Добавляет к сообщению элемент Exchange, например сообщение, в виде вложения.

С помощью метода addItemAttachmentAsync можно в элемент формы создания вложить элемент с указанным идентификатором Exchange. Если вы указываете функцию обратного вызова, метод вызывается с одним параметром, который содержит либо идентификатор вложения, либо код, указывающий на любую ошибку, asyncResultвозникшую при прикреплении элемента. При необходимости можно использовать параметр options для передачи сведений о состоянии в функцию обратного вызова.

Идентификатор можно использовать с методом removeAttachmentAsync, чтобы удалить вложение, добавленное во время текущего сеанса.

Если надстройка Office работает в Outlook в Интернете или в новой версии Outlook для Windows, этот addItemAttachmentAsync метод позволяет присоединять элементы к элементам, отличным от редактируемого. Однако это не поддерживается и не рекомендуется.

close()

Закрывает текущий создаваемый элемент.

Работа метода close зависит от текущего состояния создаваемого элемента. Если элемент содержит несохраненные изменения, клиент предлагает пользователю сохранить, отменить или закрыть действие.

В Outlook для Windows (классическая версия) и на Mac этот close метод не влияет на ответ в области чтения.

closeAsync(options, callback)

Закрывает создаваемое текущее сообщение с возможностью отмены несохраненных изменений. Сообщение может быть новым сообщением, ответом или существующим черновиком.

closeAsync(callback)

Закрывает создаваемое текущее сообщение.

Поведение при составлении нового сообщения зависит от того, содержит ли оно несохраненные изменения. Если изменения не были сделаны, сообщение закрывается без диалогового окна сохранения. С другой стороны, если сообщение содержит несохраненные изменения, появляется диалоговое окно сохранения, предлагающее сохранить черновик, отменить изменения или отменить операцию.

disableClientSignatureAsync(options, callback)

Отключает подпись клиента Outlook.

Поведение этого метода зависит от клиента, запущенного надстройкой.

  • В Outlook в Интернете и новом Outlook для Windows параметр подписи для новых писем, ответов и пересылаемых сообщений отключен. Выбранная сигнатура также отключается методом.

  • В Outlook для Windows (классическая версия) и на Mac подпись в разделах " Новые сообщения " и "Ответы/пересылки" отправляющей учетной записи установлена на (нет).

  • В Outlook для Android и iOS подпись, сохраненная на мобильном устройстве, очищается.

disableClientSignatureAsync(callback)

Отключает подпись клиента Outlook.

Поведение этого метода зависит от клиента, запущенного надстройкой.

  • В Outlook в Интернете и новом Outlook для Windows параметр подписи для новых писем, ответов и пересылаемых сообщений отключен. Выбранная сигнатура также отключается методом.

  • В Outlook для Windows (классическая версия) и на Mac подпись в разделах " Новые сообщения " и "Ответы/пересылки" отправляющей учетной записи установлена на (нет).

  • В Outlook для Android и iOS подпись, сохраненная на мобильном устройстве, очищается.

getAttachmentContentAsync(attachmentId, options, callback)

Получает вложение из сообщения или встречи и возвращает его как AttachmentContent объект.

getAttachmentContentAsync(attachmentId, callback)

Получает вложение из сообщения или встречи и возвращает его как AttachmentContent объект.

getAttachmentsAsync(options, callback)

Получает вложения элемента в виде массива.

getAttachmentsAsync(callback)

Получает вложения элемента в виде массива.

getComposeTypeAsync(options, callback)

Определяет тип создаваемого сообщения и тип приведения. Сообщение может быть новым, ответным или пересланным. Типом приведения может быть HTML или обычный текст.

getComposeTypeAsync(callback)

Определяет тип создаваемого сообщения и тип приведения. Сообщение может быть новым, ответным или пересланным. Типом приведения может быть HTML или обычный текст.

getConversationIndexAsync(options, callback)

Получает позицию текущего сообщения в цепочке беседы в кодировке Base64.

getConversationIndexAsync(callback)

Получает позицию текущего сообщения в цепочке беседы в кодировке Base64.

getInitializationContextAsync(options, callback)

Получает данные инициализации, передаваемые при активации надстройки с помощью интерактивного сообщения.

getInitializationContextAsync(callback)

Получает данные инициализации, передаваемые при активации надстройки с помощью интерактивного сообщения.

getItemClassAsync(options, callback)

Получает класс элемента веб-служб Exchange для выбранного сообщения.

getItemClassAsync(callback)

Получает класс элемента веб-служб Exchange для выбранного сообщения.

getItemIdAsync(options, callback)

Асинхронно получает идентификатор элемента веб-служб Exchange (EWS) сохраненного элемента.

При вызове этот метод возвращает идентификатор элемента с помощью функции обратного вызова.

getItemIdAsync(callback)

Асинхронно получает идентификатор элемента веб-служб Exchange (EWS) сохраненного элемента.

При вызове этот метод возвращает идентификатор элемента с помощью функции обратного вызова.

getSelectedDataAsync(coercionType, options, callback)

Асинхронно возвращает данные, выбранные в теме или тексте сообщения.

Если выделения нет, но курсор находится в теле или теме, метод возвращает пустую строку для выбранных данных. Если выбраны не текст и не тема, метод возвращает ошибку InvalidSelection.

Чтобы получить доступ к выбранным данным из функции обратного вызова, вызовите asyncResult.value.data. Чтобы получить доступ к свойству-источнику, из которого сделан выбор, вызовите asyncResult.value.sourceProperty, которое будет иметь значение или bodysubject.

getSelectedDataAsync(coercionType, callback)

Асинхронно возвращает данные, выбранные в теме или тексте сообщения.

Если выделения нет, но курсор находится в теле или теме, метод возвращает пустую строку для выбранных данных. Если выбраны не текст и не тема, метод возвращает ошибку InvalidSelection.

Чтобы получить доступ к выбранным данным из функции обратного вызова, вызовите asyncResult.value.data. Чтобы получить доступ к свойству-источнику, из которого сделан выбор, вызовите asyncResult.value.sourceProperty, которое будет иметь значение или bodysubject.

getSharedPropertiesAsync(options, callback)

Получает свойства встречи или сообщения в общей папке или общем почтовом ящике.

Дополнительные сведения об использовании этого API см. в статье "Включение общих папок и сценариев почтовых ящиков в надстройке Outlook".

getSharedPropertiesAsync(callback)

Получает свойства встречи или сообщения в общей папке или общем почтовом ящике.

Дополнительные сведения об использовании этого API см. в статье "Включение общих папок и сценариев почтовых ящиков в надстройке Outlook".

isClientSignatureEnabledAsync(options, callback)

Получает включенную сигнатуру клиента.

В Outlook для Windows (классическая версия) и на Mac вызов API возвращается true , если в качестве подписи по умолчанию для новых сообщений, ответов или пересылаемых сообщений задан шаблон для отправляющей учетной записи Outlook. В Outlook в Интернете и новом Outlook в Windows вызов API возвращаетсяtrue, включена ли подпись для типовnewMail создания ,reply или .forward Если в Outlook для Windows (классическая версия) или для Mac задано значение "(нет)" либо отключено в Outlook в Интернете или новой версии Outlook для Windows, вызов API возвращает false.

isClientSignatureEnabledAsync(callback)

Получает включенную сигнатуру клиента.

В Outlook для Windows (классическая версия) и на Mac вызов API возвращается true , если в качестве подписи по умолчанию для новых сообщений, ответов или пересылаемых сообщений задан шаблон для отправляющей учетной записи Outlook. В Outlook в Интернете и новом Outlook в Windows вызов API возвращаетсяtrue, включена ли подпись для типовnewMail создания ,reply или .forward Если в Outlook для Windows (классическая версия) или для Mac задано значение "(нет)" либо отключено в Outlook в Интернете или новой версии Outlook для Windows, вызов API возвращает false.

loadCustomPropertiesAsync(callback, userContext)

Асинхронно загружает настраиваемые свойства для надстройки для выбранного элемента.

Настраиваемые свойства хранятся в виде пар "ключ-значение" для каждого приложения и элемента. Этот метод возвращает объект CustomProperties в обратном вызове, который предоставляет методы для доступа к настраиваемым свойствам, относящимся к текущему элементу и текущей надстройке. Пользовательские свойства элемента не зашифрованы, поэтому его не следует использовать в качестве безопасного хранилища.

Настраиваемые свойства предоставляются в виде объекта CustomProperties в свойстве asyncResult.value. Этот объект можно использовать для получения, настройки, сохранения и удаления настраиваемых свойств элемента почты.

removeAttachmentAsync(attachmentId, options, callback)

Удаляет вложение из сообщения или встречи.

Метод removeAttachmentAsync удаляет из элемента вложение с указанным идентификатором. Идентификатор вложения рекомендуется использовать для удаления вложения, только если оно добавлено тем же почтовым приложением в ходе текущего сеанса. В Outlook в Интернете, на мобильных устройствах и в новом Outlook для Windows идентификатор вложения действителен только в рамках одного сеанса. Сеанс завершается, когда пользователь закрывает приложение или если пользователь начинает создавать встроенную форму, а затем открывает форму, чтобы продолжить в отдельном окне.

removeAttachmentAsync(attachmentId, callback)

Удаляет вложение из сообщения или встречи.

Метод removeAttachmentAsync удаляет из элемента вложение с указанным идентификатором. Идентификатор вложения рекомендуется использовать для удаления вложения, только если оно добавлено тем же почтовым приложением в ходе текущего сеанса. В Outlook в Интернете, на мобильных устройствах и в новом Outlook для Windows идентификатор вложения действителен только в рамках одного сеанса. Сеанс завершается, когда пользователь закрывает приложение или если пользователь начинает создавать встроенную форму, а затем открывает форму, чтобы продолжить в отдельном окне.

removeHandlerAsync(eventType, options, callback)

Удаляет обработчиков для поддерживаемого типа события. События доступны только в надстройках области задач.

removeHandlerAsync(eventType, callback)

Удаляет обработчиков для поддерживаемого типа события. События доступны только в надстройках области задач.

saveAsync(options, callback)

Асинхронно сохраняет текущее сообщение как черновик.

saveAsync(callback)

Асинхронно сохраняет текущее сообщение как черновик.

sendAsync(options, callback)

Отправляет создаваемое сообщение.

sendAsync(callback)

Отправляет создаваемое сообщение.

setSelectedDataAsync(data, options, callback)

Асинхронно вставляет данные в текст или тему сообщения.

Метод setSelectedDataAsync вставляет указанную строку в расположение курсора в теме или теле элемента или, если текст выделен в редакторе, он заменяет выделенный текст. Если курсор находится за пределами поля текста или темы, возвращается ошибка. После вставки курсор помещается в конец вставляемого содержимого.

setSelectedDataAsync(data, callback)

Асинхронно вставляет данные в текст или тему сообщения.

Метод setSelectedDataAsync вставляет указанную строку в расположение курсора в теме или теле элемента или, если текст выделен в редакторе, он заменяет выделенный текст. Если курсор находится за пределами поля текста или темы, возвращается ошибка. После вставки курсор помещается в конец вставляемого содержимого.

Сведения о свойстве

bcc

Получает объект, предоставляющий методы для получения или обновления получателей в строке скрытой копии сообщения.

В зависимости от клиента/платформы (например, Windows, Mac и т. д.) могут применяться ограничения на количество получателей, которых вы можете получить или обновить. Дополнительные сведения см. в объекте "Получатели ".

bcc: Recipients;

Значение свойства

Комментарии

Набор API: Почтовый ящик 1.1

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-bcc-message-compose.yaml

Office.context.mailbox.item.bcc.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const msgBcc = asyncResult.value;
    console.log("Message being blind-copied to:");
    for (let i = 0; i < msgBcc.length; i++) {
      console.log(msgBcc[i].displayName + " (" + msgBcc[i].emailAddress + ")");
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

const email = (document.getElementById("emailBcc") as HTMLInputElement).value;
const emailArray = [email];
Office.context.mailbox.item.bcc.setAsync(emailArray, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Succeeded in setting Bcc field.");
  } else {
    console.error(asyncResult.error);
  }
});

body

Получает объект, предоставляющий методы для работы с основным текстом элемента.

body: Body;

Значение свойства

Комментарии

Набор API: Почтовый ящик 1.1

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Примеры

// This example gets the body of the item as plain text.
Office.context.mailbox.item.body.getAsync(
    "text",
    { asyncContext: "This is passed to the callback" },
    function callback(result) {
        // Do something with the result.
    });

// The following is an example of the result parameter passed to the callback function.
{
    "value": "TEXT of whole body (including threads below)",
    "status": "succeeded",
    "asyncContext": "This is passed to the callback"
}

categories

Получает объект, предоставляющий методы для управления категориями элемента.

categories: Categories;

Значение свойства

Комментарии

Набор API: Почтовый ящик 1.8

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно! В Outlook в Интернете и новых Outlook для Windows невозможно использовать API для управления категориями в сообщении в режиме Compose.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/45-categories/work-with-categories.yaml

Office.context.mailbox.item.categories.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const categories = asyncResult.value;
    if (categories && categories.length > 0) {
      console.log("Categories assigned to this item:");
      console.log(JSON.stringify(categories));
    } else {
      console.log("There are no categories assigned to this item.");
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

// Note: In order for you to successfully add a category,
// it must be in the mailbox categories master list.

Office.context.mailbox.masterCategories.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const masterCategories = asyncResult.value;
    if (masterCategories && masterCategories.length > 0) {
      // Grab the first category from the master list.
      const categoryToAdd = [masterCategories[0].displayName];
      Office.context.mailbox.item.categories.addAsync(categoryToAdd, function(asyncResult) {
        if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
          console.log(`Successfully assigned category '${categoryToAdd}' to item.`);
        } else {
          console.log("categories.addAsync call failed with error: " + asyncResult.error.message);
        }
      });
    } else {
      console.log("There are no categories in the master list on this mailbox. You can add categories using Office.context.mailbox.masterCategories.addAsync.");
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

Office.context.mailbox.item.categories.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const categories = asyncResult.value;
    if (categories && categories.length > 0) {
      // Grab the first category assigned to this item.
      const categoryToRemove = [categories[0].displayName];
      Office.context.mailbox.item.categories.removeAsync(categoryToRemove, function(asyncResult) {
        if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
          console.log(`Successfully unassigned category '${categoryToRemove}' from this item.`);
        } else {
          console.log("categories.removeAsync call failed with error: " + asyncResult.error.message);
        }
      });
    } else {
      console.log("There are no categories assigned to this item.");
    }
  } else {
    console.error(asyncResult.error);
  }
});

cc

Предоставляет доступ к получателям копии сообщения. Тип объекта и уровень доступа зависят от режима текущего элемента.

Свойство cc возвращает объект Recipients, предоставляющий методы для получения или обновления получателей, которые указаны в строке Копия сообщения. Однако в зависимости от клиента/платформы (например, Windows, Mac и т. д.) могут применяться ограничения на количество получателей, которых вы можете получить или обновить. Дополнительные сведения см. в объекте "Получатели ".

cc: Recipients;

Значение свойства

Комментарии

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-cc-message-compose.yaml

Office.context.mailbox.item.cc.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const msgCc = asyncResult.value;
    console.log("Message being copied to:");
    for (let i = 0; i < msgCc.length; i++) {
      console.log(msgCc[i].displayName + " (" + msgCc[i].emailAddress + ")");
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

const email = (document.getElementById("emailCc") as HTMLInputElement).value;
const emailArray = [email];
Office.context.mailbox.item.cc.setAsync(emailArray, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Succeeded in setting Cc field.");
  } else {
    console.error(asyncResult.error);
  }
});

conversationId

Получает идентификатор разговора по электронной почте, содержащего конкретное сообщение.

Вы можете получить целочисленное значение этого свойства, если ваше почтовое приложение активируется в формах просмотра или формах создания ответов. Если пользователь изменит тему ответа, после его отправки идентификатор беседы будет изменен, и полученное ранее значение будет недействительным.

Это свойство имеет значение NULL для нового элемента в форме создания. Свойство conversationId вернет значение, если пользователь задаст тему и сохранит элемент.

conversationId: string;

Значение свойства

string

Комментарии

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-conversation-id-message.yaml

console.log(`Conversation ID: ${Office.context.mailbox.item.conversationId}`);

delayDeliveryTime

Получает или устанавливает отложенные дату и время доставки сообщения.

Свойство delayDeliveryTimeDelayDeliveryTime возвращает объект, который предоставляет методы для управления датой и временем доставки сообщения.

delayDeliveryTime: DelayDeliveryTime;

Значение свойства

Комментарии

Набор API: почтовый ящик 1.13

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/delay-message-delivery.yaml

function setDeliveryDate(minutes) {
  // This snippet sets the delivery date and time of a message.
  const currentTime = new Date().getTime();
  const milliseconds = totalDelay * 60000;
  const timeDelay = new Date(currentTime + milliseconds);
  Office.context.mailbox.item.delayDeliveryTime.setAsync(timeDelay, (asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
      console.log(asyncResult.error.message);
      return;
    }

    if (minutes === 1440) {
      console.log(`Delayed delivery by an additional one day.`);
    } else {
      console.log(`Delayed delivery by an additional ${minutes} minutes.`);
    }
  });
}

from

Получает электронный адрес отправителя сообщения.

Свойство fromFrom возвращает объект, который предоставляет метод для получения значения from.

from: From;

Значение свойства

Комментарии

Набор API: Почтовый ящик 1.7

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно! Это свойство поддерживается в Outlook для Android и iOS. Пример сценария см. в статье "Реализация активации на основе событий в надстройках Outlook Mobile".

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-from-message-compose.yaml

Office.context.mailbox.item.from.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const msgFrom = asyncResult.value;
    console.log("Message from: " + msgFrom.displayName + " (" + msgFrom.emailAddress + ")");
  } else {
    console.error(asyncResult.error);
  }
});

inReplyTo

Получает идентификатор интернет-сообщения исходного сообщения, на которое отвечает текущее сообщение.

inReplyTo: string;

Значение свойства

string

Комментарии

Набор API: почтовый ящик 1.14

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно!

  • В Outlook для Windows значение inReplyTo сохраняется во всех ответах независимо от изменений, внесенных пользователем, например изменения темы в ответе.

  • Свойство inReplyTo возвращает null новые сообщения и приглашения на собрания, пересылаемые пользователем, который также является организатором собрания.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-in-reply-to.yaml

// This snippet gets the ID of the message being replied to by the current message (PR_IN_REPLY_TO_ID).
// The API call is supported on messages being composed and isn't supported on read items.
const inReplyTo = Office.context.mailbox.item.inReplyTo;
if (inReplyTo) {
  console.log("ID of the message being replied to: " + inReplyTo);
} else {
  console.log("No InReplyTo property available for this message");
}

internetHeaders

Получает или задает пользовательские интернет-заголовки сообщения.

Свойство internetHeaders возвращает объект, предоставляющий InternetHeaders методы для управления интернет-заголовками сообщения.

Дополнительные сведения см. в статье Создание и настройка интернет-заголовков в сообщении в надстройке Outlook.

internetHeaders: InternetHeaders;

Значение свойства

Комментарии

Набор API: Почтовый ящик 1.8

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно! API интернет-заголовков поддерживается в Outlook для Android и iOS, начиная с версии 4.2405.0. Дополнительные сведения о функциях, поддерживаемых Outlook на мобильных устройствах, см. в статье API JavaScript Outlook, поддерживаемые Outlook на мобильных устройствах.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/70-mime-headers/manage-custom-internet-headers-message-compose.yaml

Office.context.mailbox.item.internetHeaders.getAsync(
  ["preferred-fruit", "preferred-vegetable", "best-vegetable", "nonexistent-header"],
  function (asyncResult) {
    if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
      console.log("Selected headers: " + JSON.stringify(asyncResult.value));
    } else {
      console.log("Error getting selected headers: " + JSON.stringify(asyncResult.error));
    }
  }
);

itemType

Получает тип элемента, который представляет экземпляр.

Свойство itemTypeItemType возвращает одно из значений перечисления, указывающее, является ли экземпляр объекта элемента сообщением или встречей.

itemType: MailboxEnums.ItemType | string;

Значение свойства

Комментарии

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-item-type.yaml

const itemType = Office.context.mailbox.item.itemType;
switch (itemType) {
    case Office.MailboxEnums.ItemType.Appointment:
        console.log(`Current item is an ${itemType}.`);
        break;
    case Office.MailboxEnums.ItemType.Message:
        console.log(`Current item is a ${itemType}. A message could be an email, meeting request, meeting response, or meeting cancellation.`);
        break;
}

notificationMessages

Получает сообщения уведомления для элемента.

notificationMessages: NotificationMessages;

Значение свойства

Комментарии

Набор API: Почтовый ящик 1.3

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно! Дополнительные сведения о различных типах уведомлений, которые можно реализовать, см. в статье "Создание уведомлений для надстройки Outlook".

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/35-notifications/add-getall-remove.yaml

// Adds a progress indicator to the mail item.
const id = (document.getElementById("notificationId") as HTMLInputElement).value;
const details =
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.ProgressIndicator,
    message: "Progress indicator with id = " + id
  };
Office.context.mailbox.item.notificationMessages.addAsync(id, details, (result) => {
  if (result.status === Office.AsyncResultStatus.Failed) {
    console.log(`Failed to add progress notification with id = ${id}. Try using a different ID.`);
    return;
  }
  console.log(`Added progress notification with id = ${id}.`);
});

...

// Adds an informational notification to the mail item.
const id = (document.getElementById("notificationId") as HTMLInputElement).value;
const details =
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
    message: "Non-persistent informational notification message with id = " + id,
    icon: "PG.Icon.16",
    persistent: false
  };
Office.context.mailbox.item.notificationMessages.addAsync(id, details, (result) => {
  if (result.status === Office.AsyncResultStatus.Failed) {
    console.log(`Failed to add informational notification with id = ${id}. Try using a different ID.`);
    return;
  }
  console.log(`Added informational notification with id = ${id}.`);
});

...

// Adds a persistent information notification to the mail item.
const id = (document.getElementById("notificationId") as HTMLInputElement).value;
const details =
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
    message: "Persistent informational notification message with id = " + id,
    icon: "PG.Icon.16",
    persistent: true
  };
Office.context.mailbox.item.notificationMessages.addAsync(id, details, (result) => {
  if (result.status === Office.AsyncResultStatus.Failed) {
    console.log(`Failed to add persistent informational notification with id = ${id}. Try using a different ID.`);
    return;
  }
  console.log(`Added persistent informational notification with id = ${id}.`);
});

...

// Gets all the notification messages and their keys for the current mail item.
Office.context.mailbox.item.notificationMessages.getAllAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log(asyncResult.error.message);
    return;
  }
  console.log(JSON.stringify(asyncResult.value));
});

...

// Replaces a notification message of a given key with another message.
const id = (document.getElementById("notificationId") as HTMLInputElement).value;
Office.context.mailbox.item.notificationMessages.replaceAsync(
  id,
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
    message: "Notification message with id = " + id + " has been replaced with an informational message.",
    icon: "icon2",
    persistent: false
  },
  (result) => {
    if (result.status === Office.AsyncResultStatus.Failed) {
      console.log(`Failed to replace notification with id = ${id}. ${result.error.message}.`);
      return;
    }
    console.log(`Replaced notification with id = ${id}.`);
  });

...

// Removes a notification message from the current mail item.
const id = (document.getElementById("notificationId") as HTMLInputElement).value;
Office.context.mailbox.item.notificationMessages.removeAsync(id, (result) => {
  if (result.status === Office.AsyncResultStatus.Failed) {
    console.log(`Failed to remove notification with id = ${id}. ${result.error.message}.`);
    return;
  }
  console.log(`Removed notification with id = ${id}.`);
});

sensitivityLabel

Получает объект для получения или настройки метки конфиденциальности сообщения.

sensitivityLabel: SensitivityLabel;

Значение свойства

Комментарии

Набор API: почтовый ящик 1.13

Минимальный уровень разрешений: элемент для чтения и записи

Применимый режим Outlook: Compose сообщений

Важно! Чтобы использовать функцию меток конфиденциальности в надстройке, необходима подписка на Microsoft 365 E5.

Дополнительные сведения об управлении метками конфиденциальности в надстройке см. в разделе Управление меткой конфиденциальности сообщения или встречи в режиме создания.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/60-sensitivity-label/sensitivity-label.yaml

// This snippet gets the current mail item's sensitivity label.
Office.context.sensitivityLabelsCatalog.getIsEnabledAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded && asyncResult.value == true) {
    Office.context.mailbox.item.sensitivityLabel.getAsync((asyncResult) => {
      if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
        console.log(asyncResult.value);
      } else {
        console.log("Action failed with error: " + asyncResult.error.message);
      }
    });
  } else {
    console.log("Action failed with error: " + asyncResult.error.message);
  }
});

seriesId

Получает идентификатор ряда, к которому принадлежит экземпляр.

В Outlook в Интернете, в Windows (новой и классической версии) и в Mac seriesId возвращает идентификатор веб-служб Exchange (EWS) родительского элемента (серии), к которому принадлежит этот элемент. Однако в iOS и Android код seriesId возвращает REST идентификатора родительского элемента.

seriesId: string;

Значение свойства

string

Комментарии

Набор API: Почтовый ящик 1.7

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно! Идентификатор, возвращаемый свойством seriesId , совпадает с идентификатором элемента веб-служб Exchange. Это seriesId свойство не идентично идентификаторам Outlook, используемым REST API Outlook. Перед вызовами REST API с использованием этого значения его следует преобразовать с помощью Office.context.mailbox.convertToRestId. Дополнительные сведения см. в статье Использование Outlook REST API из надстройки Outlook.

Свойство seriesId возвращает null элементы, которые не имеют родительских элементов, таких как отдельные встречи, элементы ряда или приглашения на собрания, и возвращает undefined все другие элементы, не являющиеся приглашениями на собрания.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/50-recurrence/get-series-id.yaml

const seriesId = Office.context.mailbox.item.seriesId;

if (seriesId === undefined) {
  console.log("This is a message that's not a meeting request.");
} else if (seriesId === null) {
  console.log("This is a single appointment, a parent series, or a meeting request for a series or single meeting.");
} else {
  console.log("This is an instance belonging to series with ID " + seriesId);
}

sessionData

Управляет данными сеанса элемента в режиме Compose.

Важно! В клиентах Outlook, поддерживающих почтовый ящик 1.15 или более ранних версий, длина всего объекта SessionData для каждого элемента почты ограничена 50 000 символов на надстройку. В клиентах, поддерживающих почтовые ящики версии 1.16 или более поздней версии, максимальная длина одной надстройки составляет 2 621 440 символов.

sessionData: SessionData;

Значение свойства

Комментарии

Набор API: почтовый ящик 1.11

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/session-data-apis.yaml

Office.context.mailbox.item.sessionData.getAllAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("The sessionData is " + JSON.stringify(asyncResult.value));
  } else {
    console.log("Failed to get all sessionData. Error: " + JSON.stringify(asyncResult.error));
  }
});

subject

Получает или задает описание, которое отображается в поле темы элемента.

Свойство subject получает или задает всю тему элемента для отправки с почтового сервера.

Свойство subject возвращает объект Subject, который предоставляет методы для получения и задания темы.

subject: Subject;

Значение свойства

Комментарии

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-set-subject-compose.yaml

Office.context.mailbox.item.subject.getAsync((result) => {
  if (result.status !== Office.AsyncResultStatus.Succeeded) {
    console.error(`Action failed with message ${result.error.message}`);
    return;
  }
  console.log(`Subject: ${result.value}`);
});

...

let subject = "Hello World!";
Office.context.mailbox.item.subject.setAsync(subject, (result) => {
  if (result.status !== Office.AsyncResultStatus.Succeeded) {
    console.error(`Action failed with message ${result.error.message}`);
    return;
  }
  console.log(`Successfully set subject to ${subject}`);
});

to

Предоставляет доступ к получателям, указанным в строке Кому сообщения. Тип объекта и уровень доступа зависят от режима текущего элемента.

Свойство to возвращает объект Recipients, предоставляющий методы для получения или обновления получателей, которые указаны в строке Кому сообщения. Однако в зависимости от клиента/платформы (например, Windows, Mac и т. д.) могут применяться ограничения на количество получателей, которых вы можете получить или обновить. Дополнительные сведения см. в объекте "Получатели ".

to: Recipients;

Значение свойства

Комментарии

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-to-message-compose.yaml

Office.context.mailbox.item.to.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const msgTo = asyncResult.value;
    console.log("Message being sent to:");
    for (let i = 0; i < msgTo.length; i++) {
      console.log(msgTo[i].displayName + " (" + msgTo[i].emailAddress + ")");
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

const email = (document.getElementById("emailTo") as HTMLInputElement).value;
const emailArray = [email];
Office.context.mailbox.item.to.setAsync(emailArray, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Succeeded in setting To field.");
  } else {
    console.error(asyncResult.error);
  }
});

Сведения о методе

addFileAttachmentAsync(uri, attachmentName, options, callback)

Добавляет файл в сообщение или встречу в качестве вложения.

Метод addFileAttachmentAsync передает файл по указанному универсальному коду ресурса (URI) и вкладывает его в элемент в форме создания.

addFileAttachmentAsync(uri: string, attachmentName: string, options: Office.AsyncContextOptions & { isInline: boolean }, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

uri

string

Универсальный код ресурса (URI), представляющий расположение файла, который нужно вложить в сообщение или встречу. Максимальная длина — 2048 символов.

attachmentName

string

Имя вложения, которое отображается при передаче вложения. Максимальная длина: 255 символов.

options

Office.AsyncContextOptions & { isInline: boolean }

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова. isInline : если значение равно true, вложение будет отображаться в тексте сообщения в виде изображения и не будет отображаться в списке вложений.

callback

(asyncResult: Office.AsyncResult<string>) => void

Необязательный параметр. После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult. В случае успеха идентификатор вложения предоставляется в свойстве asyncResult.value . Идентификатор может различаться в зависимости от клиента Outlook. В Outlook в Интернете и новом Outlook для Windows возвращается идентификатор веб-служб Exchange (EWS). Если isInline задано значение true, временный идентификатор вложения с префиксом addinId первоначально возвращается во время отправки вложения на сервер. После завершения отправки вложению присваивается идентификатор EWS. Дополнительные сведения см. в примечаниях в разделе "Замечания". В Outlook для Windows (классическая версия) и на Mac индекс вложения возвращается для встроенных и невстроенных вложений. Если отправить вложение не удается, описание ошибки приведено в .asyncResult.error

Возвращаемое значение

void

Комментарии

Набор API: почтовый ящик 1.1 для Outlook в Windows (классическая версия) и на Mac, почтовый ящик 1.8 для Outlook в Интернете и новый Outlook в Windows

Минимальный уровень разрешений: элемент для чтения и записи

Применимый режим Outlook: Compose сообщений

Важно!

  • Этот способ не поддерживается в Outlook для iOS или Android. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Outlook, поддерживаемые Outlook на мобильных устройствах.

  • Начиная с 30 марта 2026 г. после завершения вызова addFileAttachmentAsyncaddFileAttachmentFromBase64AsyncisInlinetrue встроенным изображениям в Outlook в Интернете и новом Outlook для Windows локально назначается временный идентификатор вложения при их отправке на сервер. Временному идентификатору вложения предназначается префикс addinId. После загрузки изображений на сервер им назначается идентификатор веб-служб Exchange (EWS) в свойстве id , и их isServiceAccessible свойство имеет значение true. Идентификатор временного вложения поддерживается только в течение текущего сеанса создания сообщения. Дополнительные сведения об обработке встроенных изображений см. в статье Изменения идентификаторов вложений для встроенных изображений в надстройках Outlook.

  • Растровые изображения (BMP) не поддерживаются, если они добавлены в виде встроенных вложений.

  • В последних сборках классического Outlook для Windows появилась ошибка, из-за которой к этому действию неправильно добавлялся Authorization: Bearer заголовок (с помощью этого API или пользовательского интерфейса Outlook). Чтобы обойти эту проблему, используйте API, представленный в наборе addFileAttachmentFromBase64 требований 1.8.

  • URI вкладываемого файла должен поддерживать кэширование в рабочей среде. Сервер, на котором размещено изображение, не должен возвращать Cache-Control заголовок, который указывает no-cache, no-storeили аналогичные параметры в HTTP-ответе. Однако при разработке надстройки и внесении изменений в файлы кэширование может скрыть ваши изменения. Мы рекомендуем использовать Cache-Control заголовки во время разработки.

  • Вы можете использовать тот же URI с removeAttachmentAsync методом удаления вложения в том же сеансе.

Ошибки:

  • AttachmentSizeExceeded : размер вложения превышает допустимый.

  • FileTypeNotSupported : вложение имеет недопустимое расширение.

  • NumberOfAttachmentsExceeded : сообщение или встреча содержат слишком много вложений.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml

const attachmentUrl = (document.getElementById("attachmentUrl") as HTMLInputElement).value;
Office.context.mailbox.item.addFileAttachmentAsync(
  attachmentUrl,
  getFileName(attachmentUrl),
  { isInline: false },
  (result) => {
    if (result.status === Office.AsyncResultStatus.Failed) {
      console.log(`Failed to add attachment: ${result.error.message}.`);
      return;
    }
    console.log(`Added attachment with ID: ${result.value}`);
  }
);

addFileAttachmentAsync(uri, attachmentName, callback)

Добавляет файл в сообщение или встречу в качестве вложения.

Метод addFileAttachmentAsync передает файл по указанному универсальному коду ресурса (URI) и вкладывает его в элемент в форме создания.

addFileAttachmentAsync(uri: string, attachmentName: string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

uri

string

Универсальный код ресурса (URI), представляющий расположение файла, который нужно вложить в сообщение или встречу. Максимальная длина — 2048 символов.

attachmentName

string

Имя вложения, которое отображается при передаче вложения. Максимальная длина: 255 символов.

callback

(asyncResult: Office.AsyncResult<string>) => void

Необязательный параметр. После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult. В случае успеха идентификатор вложения предоставляется в свойстве asyncResult.value . Идентификатор может различаться в зависимости от клиента Outlook. В Outlook в Интернете и новом Outlook для Windows возвращается идентификатор веб-служб Exchange (EWS). Если isInline задано значение true, временный идентификатор вложения с префиксом addinId первоначально возвращается во время отправки вложения на сервер. После завершения отправки вложению присваивается идентификатор EWS. Дополнительные сведения см. в примечаниях в разделе "Замечания". В Outlook для Windows (классическая версия) и на Mac индекс вложения возвращается для встроенных и невстроенных вложений. Если отправить вложение не удается, описание ошибки приведено в .asyncResult.error

Возвращаемое значение

void

Комментарии

Набор API: почтовый ящик 1.1 для Outlook в Windows (классическая версия) и на Mac, почтовый ящик 1.8 для Outlook в Интернете и новый Outlook в Windows

Минимальный уровень разрешений: элемент для чтения и записи

Применимый режим Outlook: Compose сообщений

Важно!

  • Этот способ не поддерживается в Outlook для iOS или Android. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Outlook, поддерживаемые Outlook на мобильных устройствах.

  • Начиная с 30 марта 2026 г. после завершения вызова addFileAttachmentAsyncaddFileAttachmentFromBase64AsyncisInlinetrue встроенным изображениям в Outlook в Интернете и новом Outlook для Windows локально назначается временный идентификатор вложения при их отправке на сервер. Временному идентификатору вложения предназначается префикс addinId. После загрузки изображений на сервер им назначается идентификатор веб-служб Exchange (EWS) в свойстве id , и их isServiceAccessible свойство имеет значение true. Идентификатор временного вложения поддерживается только в течение текущего сеанса создания сообщения. Дополнительные сведения об обработке встроенных изображений см. в статье Изменения идентификаторов вложений для встроенных изображений в надстройках Outlook.

  • Растровые изображения (BMP) не поддерживаются, если они добавлены в виде встроенных вложений.

  • В последних сборках классического Outlook для Windows появилась ошибка, из-за которой к этому действию неправильно добавлялся Authorization: Bearer заголовок (с помощью этого API или пользовательского интерфейса Outlook). Чтобы обойти эту проблему, используйте API, представленный в наборе addFileAttachmentFromBase64 требований 1.8.

  • URI вкладываемого файла должен поддерживать кэширование в рабочей среде. Сервер, на котором размещено изображение, не должен возвращать Cache-Control заголовок, который указывает no-cache, no-storeили аналогичные параметры в HTTP-ответе. Однако при разработке надстройки и внесении изменений в файлы кэширование может скрыть ваши изменения. Мы рекомендуем использовать Cache-Control заголовки во время разработки.

  • Вы можете использовать тот же URI с removeAttachmentAsync методом удаления вложения в том же сеансе.

Ошибки:

  • AttachmentSizeExceeded : размер вложения превышает допустимый.

  • FileTypeNotSupported : вложение имеет недопустимое расширение.

  • NumberOfAttachmentsExceeded : сообщение или встреча содержат слишком много вложений.

addFileAttachmentFromBase64Async(base64File, attachmentName, options, callback)

Добавляет файл в сообщение или встречу в качестве вложения.

Метод addFileAttachmentFromBase64Async загружает файл из кодировки Base64 и присоединяет его к элементу в форме создания. Этот метод возвращает идентификатор вложения в объекте asyncResult.value .

Идентификатор можно использовать с методом removeAttachmentAsync, чтобы удалить вложение, добавленное во время текущего сеанса.

addFileAttachmentFromBase64Async(base64File: string, attachmentName: string, options: Office.AsyncContextOptions & { isInline: boolean }, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

base64File

string

Содержимое изображения или файла в кодировке Base64, которое должно быть добавлено к сообщению электронной почты или событию. Максимальная длина кодированной строки составляет 34 865 152 символа. Это соответствует максимальному размеру вложения в 25 МБ до кодировки Base64.

attachmentName

string

Имя вложения, которое отображается при передаче вложения. Максимальная длина: 255 символов.

options

Office.AsyncContextOptions & { isInline: boolean }

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова. isInline : если значение равно true, вложение будет отображаться в тексте сообщения в виде изображения и не будет отображаться в списке вложений.

callback

(asyncResult: Office.AsyncResult<string>) => void

Необязательный параметр. После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult. В случае успеха идентификатор вложения предоставляется в свойстве asyncResult.value . Идентификатор может различаться в зависимости от клиента Outlook. В Outlook в Интернете и новом Outlook для Windows возвращается идентификатор веб-служб Exchange (EWS). Если isInline задано значение true, временный идентификатор вложения с префиксом addinId первоначально возвращается во время отправки вложения на сервер. После завершения отправки вложению присваивается идентификатор EWS. Дополнительные сведения см. в примечаниях в разделе "Замечания". В Outlook для Windows (классическая версия) и на Mac индекс вложения возвращается для встроенных и невстроенных вложений. Если отправить вложение не удается, описание ошибки приведено в .asyncResult.error

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.8

Минимальный уровень разрешений: элемент для чтения и записи

Применимый режим Outlook: Compose сообщений

Важно!

  • Добавление встроенного файла Base64 в сообщение в режиме создания поддерживается в Outlook для Android и в iOS. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Outlook, поддерживаемые Outlook на мобильных устройствах.

  • Начиная с 30 марта 2026 г. после завершения вызова addFileAttachmentAsyncaddFileAttachmentFromBase64AsyncisInlinetrue встроенным изображениям в сообщениях в Outlook в Интернете и новом Outlook для Windows локально назначается временный идентификатор вложения при их отправке на сервер. Временному идентификатору вложения предназначается префикс addinId. После отправки изображений на сервер им назначается идентификатор веб-служб Exchange (EWS). Идентификатор временного вложения поддерживается только в течение текущего сеанса создания сообщения. Дополнительные сведения об обработке встроенных изображений см. в статье Изменения идентификаторов вложений для встроенных изображений в надстройках Outlook.

  • Если вы используете API URL-адреса данных (например, readAsDataURL), вам нужно удалить префикс URL-адреса данных, а затем отправить оставшуюся строку в этот API. Например, если полная строка представлена как data:image/svg+xml;base64,<rest of Base64 string>, удалите data:image/svg+xml;base64,.

  • Чтобы добавить встроенное изображение в кодировке Base64 в текст создаваемого сообщения или встречи, используйте методы API Body , такие как prependAsync, setSignatureAsync, или setAsync. Если вы используете для Office.context.mailbox.item.body.setAsync вставки изображение, сначала вызовите Office.context.mailbox.item.body.getAsync получение текущего текста элемента. В противном случае изображение не будет отображаться в тексте после вставки. Например, см. пример "Добавление встроенного изображения в кодировке Base64 в текст сообщения или встречи (Compose)" в Script Lab.

Ошибки:

  • AttachmentSizeExceeded : размер вложения превышает допустимый.

  • FileTypeNotSupported : вложение имеет недопустимое расширение.

  • NumberOfAttachmentsExceeded : сообщение или встреча содержат слишком много вложений.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml

const base64String = "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsSAAALEgHS3X78AAACRUlEQVRYw82XzXHbMBCFP2F8tzsQc8Ixyh0zoiuIXIGdCsxUYKqC0B04FdiuwMoM7mGOOIXqQGoAymXhgSX+itJM9kIRFLAP+3YXD5Pdbscx5oxaAIW8Ztr6l2PWmQwF4IyaieP53qdfAqQ8CwBn1JU4vpWhrbxXQA5MZfynANmcDIAzKgcy4FKGXsVJFf3nLgKyBQptfT4KQMRz2N0fcbxqmRMDWXflx0VPnrdArq0vekQ1Dv0UeHZGNebHhwjU8AzwKM43RyZnbAf58Q6ghudeWd0Aus0+5EcMIIRi3beua0D3Nm39BEAx3i7HTK4DEBJn5YxKOnaRA5+ErpMBWMpzDvx1RuXCcxOISlufAjfC7zgAsqsvUvMAD0ApPaEtGi9AIlUzKgJo60tt/SyKRkzLrAXERluf7W1gOICWaMyB386oooOWsIHvXbSoHuUSFovtHqicUVnH3EJoeT0aQEf5/XBGlc6otIOWBXAtPeZkAIJ9Bt6cUU9tZautX2nrk3MACHYr1ZKProKRtDw4o8pzAPjWo+NtpXTTvoteDDg8noDAcwbcRedAkGdFXyk2GEDcegVAFp2gyVDHjRQ4o6q2smoqtR5Hd+qMqtoALCWUUymr1m43QMZfOaMK4C0SrMsDANJ2E5FNcbdbjHC+ENl+H0myJFbLtaq4Rt8dyPBYRQV1E40nMv9rl7xrOw3DGb+Whcqu3i/OM6CUOWvgRlufNmnLYy4m77uJI7AXtdNcTDrU71LEyv7v01/N/ovL6bmu5/8A1tNWZldH0W4AAAAASUVORK5CYII=";
Office.context.mailbox.item.addFileAttachmentFromBase64Async(
  base64String,
  "logo.png",
  { isInline: false },
  (result) => {
    if (result.status === Office.AsyncResultStatus.Failed) {
      console.log(`Failed to add attachment from Base64-encoded string: ${result.error.message}.`);
      return;
    }
    console.log(`Added attachment from a Base64-encoded string with ID: ${result.value}`);
  }
);

...

// Set the signature for the current item with inline image.
const modIcon1Base64 = "iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpDRDMxMDg1MjBCNDZFMTExODE2MkM1RUI2M0M4MDYxRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTUxQjgyRjQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTUxQjgyRTQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQxMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNEMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+uC/WfAAAAehJREFUeNpilCzfwEAEkAbiECA2A2J1IOaHin8E4ptAfBaIVwLxU0IGMRKw0B6IW4DYhoE4cASIK6E0VsCEQ1wUiNcB8QESLGOAqj0MxBuhZhBloS4QnwHiQAbygR/UDF1CFupCXSjHQDmQg5qli8tCUBBsQUoQ1AD8UDNFsVk4n0o+w+bT+egWglKjNymmeGhLkqLcG2oHAwtUoIuQDj5OVgZPLUmwRe5aEmAxqYqNpFgKssOcCeplM0KqdST5GfpDDRm0JfkYrj3/SE7QguyQY4ImYYLgCtAS10kHGMw6dzNsv/qC7OwCClJXYlR++v6b4er3j5QmIFcmaNlIL6AOslCIjhYKMTHQGTBBqxh6gXcgC6/R0cKbIAv30dHCfaAKGJTxHxJSqS3Fz9DkowNmywpyMcgA8fF7b8D8VWcfM6w8+4gYC+VB+RCk8hSh0gaUD4/dewvlvUWRe/z+GzGWgex4BGtiOAHxXhoHpzMoSGHZAhSPW2lo2VZYWkHOh4nEtLrIAE+hZmNUwK+B2BOIv1PRsu9QM1/jatNcBtVZ0IREKXgENesyoVYbzNIdFFi2A5tl+NqlL6BB4QBNzsSCU1A9nlAzMAALAQMOQl0qB23qWwKxIlIrDBQ394H4OBCvISYqAAIMACVibHDqsO7zAAAAAElFTkSuQmCC";
Office.context.mailbox.item.addFileAttachmentFromBase64Async(
  modIcon1Base64,
  "myImage.png",
  { isInline: true },
  function(result) {
    if (result.status == Office.AsyncResultStatus.Succeeded) {
      const signature = (document.getElementById("signature") as HTMLInputElement).value + "<img src='cid:myImage.png'>";
      console.log(`Setting signature to "${signature}".`);
      Office.context.mailbox.item.body.setSignatureAsync(
        signature,
        { coercionType: "html" },
        function(asyncResult) {
          console.log(`setSignatureAsync: ${asyncResult.status}`);
        }
      );
    } else {
      console.error(`addFileAttachmentFromBase64Async: ${result.error}`);
    }
  }
);

addFileAttachmentFromBase64Async(base64File, attachmentName, callback)

Добавляет файл в сообщение или встречу в качестве вложения.

Метод addFileAttachmentFromBase64Async загружает файл из кодировки Base64 и присоединяет его к элементу в форме создания. Этот метод возвращает идентификатор вложения в объекте asyncResult.value .

Идентификатор можно использовать с методом removeAttachmentAsync, чтобы удалить вложение, добавленное во время текущего сеанса.

addFileAttachmentFromBase64Async(base64File: string, attachmentName: string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

base64File

string

Содержимое изображения или файла в кодировке Base64, которое должно быть добавлено к сообщению электронной почты или событию. Максимальная длина кодированной строки составляет 34 865 152 символа. Это соответствует максимальному размеру вложения в 25 МБ до кодировки Base64.

attachmentName

string

Имя вложения, которое отображается при передаче вложения. Максимальная длина: 255 символов.

callback

(asyncResult: Office.AsyncResult<string>) => void

Необязательный параметр. После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult. В случае успеха идентификатор вложения предоставляется в свойстве asyncResult.value . Идентификатор может различаться в зависимости от клиента Outlook. В Outlook в Интернете и новом Outlook для Windows возвращается идентификатор веб-служб Exchange (EWS). Если isInline задано значение true, временный идентификатор вложения с префиксом addinId первоначально возвращается во время отправки вложения на сервер. После завершения отправки вложению присваивается идентификатор EWS. Дополнительные сведения см. в примечаниях в разделе "Замечания". В Outlook для Windows (классическая версия) и на Mac индекс вложения возвращается для встроенных и невстроенных вложений. Если отправить вложение не удается, описание ошибки приведено в .asyncResult.error

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.8

Минимальный уровень разрешений: элемент для чтения и записи

Применимый режим Outlook: Compose сообщений

Важно!

  • Добавление встроенного файла Base64 в сообщение в режиме создания поддерживается в Outlook для Android и в iOS. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Outlook, поддерживаемые Outlook на мобильных устройствах.

  • Начиная с 30 марта 2026 г. после завершения вызова addFileAttachmentAsyncaddFileAttachmentFromBase64AsyncisInlinetrue встроенным изображениям в сообщениях в Outlook в Интернете и новом Outlook для Windows локально назначается временный идентификатор вложения при их отправке на сервер. Временному идентификатору вложения предназначается префикс addinId. После отправки изображений на сервер им назначается идентификатор веб-служб Exchange (EWS). Идентификатор временного вложения поддерживается только в течение текущего сеанса создания сообщения. Дополнительные сведения об обработке встроенных изображений см. в статье Изменения идентификаторов вложений для встроенных изображений в надстройках Outlook.

  • Если вы используете API URL-адреса данных (например, readAsDataURL), вам нужно удалить префикс URL-адреса данных, а затем отправить оставшуюся строку в этот API. Например, если полная строка представлена как data:image/svg+xml;base64,<rest of Base64 string>, удалите data:image/svg+xml;base64,.

  • Чтобы добавить встроенное изображение в кодировке Base64 в текст создаваемого сообщения или встречи, используйте методы API Body , такие как prependAsync, setSignatureAsync, или setAsync. Если вы используете для Office.context.mailbox.item.body.setAsync вставки изображение, сначала вызовите Office.context.mailbox.item.body.getAsync получение текущего текста элемента. В противном случае изображение не будет отображаться в тексте после вставки. Например, см. пример "Добавление встроенного изображения в кодировке Base64 в текст сообщения или встречи (Compose)" в Script Lab.

Ошибки:

  • AttachmentSizeExceeded : размер вложения превышает допустимый.

  • FileTypeNotSupported : вложение имеет недопустимое расширение.

  • NumberOfAttachmentsExceeded : сообщение или встреча содержат слишком много вложений.

addHandlerAsync(eventType, handler, options, callback)

Добавляет обработчик для поддерживаемого события. События доступны только в надстройках области задач.

addHandlerAsync(eventType: Office.EventType | string, handler: any, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

eventType

Office.EventType | string

Событие, которое должно вызвать обработчик.

handler

any

Функция для обработки события. Функция должна принимать один параметр, представляющий собой объектный литерал. Свойство type параметра будет соответствовать параметру, eventType переданному в addHandlerAsync.

options
Office.AsyncContextOptions

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. Когда метод завершается, функция, переданная в параметре callback , вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult .

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.7

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно! Список событий, поддерживаемых для элемента почты, см. в статье Объектная модель элемента Outlook.

Примеры

function myHandlerFunction(eventarg) {
    if (eventarg.attachmentStatus === Office.MailboxEnums.AttachmentStatus.Added) {
        const attachment = eventarg.attachmentDetails;
        console.log("Event Fired and Attachment Added!");
        getAttachmentContentAsync(attachment.id, options, callback);
    }
}

Office.context.mailbox.item.addHandlerAsync(Office.EventType.AttachmentsChanged, myHandlerFunction, myCallback);

addHandlerAsync(eventType, handler, callback)

Добавляет обработчик для поддерживаемого события. События доступны только в надстройках области задач.

addHandlerAsync(eventType: Office.EventType | string, handler: any, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

eventType

Office.EventType | string

Событие, которое должно вызвать обработчик.

handler

any

Функция для обработки события. Функция должна принимать один параметр, представляющий собой объектный литерал. Свойство type параметра будет соответствовать параметру, eventType переданному в addHandlerAsync.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. Когда метод завершается, функция, переданная в параметре callback , вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult .

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.7

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно! Список событий, поддерживаемых для элемента почты, см. в статье Объектная модель элемента Outlook.

addItemAttachmentAsync(itemId, attachmentName, options, callback)

Добавляет к сообщению элемент Exchange, например сообщение, в виде вложения.

С помощью метода addItemAttachmentAsync можно в элемент формы создания вложить элемент с указанным идентификатором Exchange. Если вы указываете функцию обратного вызова, метод вызывается с одним параметром, который содержит либо идентификатор вложения, либо код, указывающий на любую ошибку, asyncResultвозникшую при прикреплении элемента. При необходимости можно использовать параметр options для передачи сведений о состоянии в функцию обратного вызова.

Идентификатор можно использовать с методом removeAttachmentAsync, чтобы удалить вложение, добавленное во время текущего сеанса.

Если надстройка Office работает в Outlook в Интернете или в новой версии Outlook для Windows, этот addItemAttachmentAsync метод позволяет присоединять элементы к элементам, отличным от редактируемого. Однако это не поддерживается и не рекомендуется.

addItemAttachmentAsync(itemId: any, attachmentName: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

itemId

any

Идентификатор Exchange для вкладываемого элемента. Максимальная длина — 100 символов.

attachmentName

string

Имя вложения, которое отображается при передаче вложения. Максимальная длина: 255 символов.

options
Office.AsyncContextOptions

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<string>) => void

Необязательный параметр. После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult. После успешного выполнения идентификатор вложения будет представлен в свойстве asyncResult.value. Если добавить вложение не удастся, объект asyncResult будет содержать объект Error с описанием ошибки.

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.1

Минимальный уровень разрешений: элемент для чтения и записи

Применимый режим Outlook: Compose сообщений

Ошибки:

  • NumberOfAttachmentsExceeded : сообщение или встреча содержат слишком много вложений.

Примеры

// The following example adds an existing Outlook item as an attachment
// with the name "My Attachment".
function addAttachment() {
    // EWS ID of item to attach (shortened for readability).
    const itemId = "AAMkADI1...AAA=";

    // The values in asyncContext can be accessed in the callback.
    const options = { asyncContext: { var1: 1, var2: 2 } };

    Office.context.mailbox.item.addItemAttachmentAsync(itemId, "My Attachment", options, (result) => {
        if (result.status === Office.AsyncResultStatus.Failed) {
            console.error("Failed to add attachment: " + result.error.message);
            return;
        }

        console.log("Attachment added successfully.");
        console.log("var1: " + result.asyncContext.var1);
        console.log("var2: " + result.asyncContext.var2);
    });
}

addItemAttachmentAsync(itemId, attachmentName, callback)

Добавляет к сообщению элемент Exchange, например сообщение, в виде вложения.

С помощью метода addItemAttachmentAsync можно в элемент формы создания вложить элемент с указанным идентификатором Exchange. Если вы указываете функцию обратного вызова, метод вызывается с одним параметром, который содержит либо идентификатор вложения, либо код, указывающий на любую ошибку, asyncResultвозникшую при прикреплении элемента. При необходимости можно использовать параметр options для передачи сведений о состоянии в функцию обратного вызова.

Идентификатор можно использовать с методом removeAttachmentAsync, чтобы удалить вложение, добавленное во время текущего сеанса.

Если надстройка Office работает в Outlook в Интернете или в новой версии Outlook для Windows, этот addItemAttachmentAsync метод позволяет присоединять элементы к элементам, отличным от редактируемого. Однако это не поддерживается и не рекомендуется.

addItemAttachmentAsync(itemId: any, attachmentName: string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

itemId

any

Идентификатор Exchange для вкладываемого элемента. Максимальная длина — 100 символов.

attachmentName

string

Имя вложения, которое отображается при передаче вложения. Максимальная длина: 255 символов.

callback

(asyncResult: Office.AsyncResult<string>) => void

Необязательный параметр. После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult. После успешного выполнения идентификатор вложения будет представлен в свойстве asyncResult.value. Если добавить вложение не удастся, объект asyncResult будет содержать объект Error с описанием ошибки.

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.1

Минимальный уровень разрешений: элемент для чтения и записи

Применимый режим Outlook: Compose сообщений

Ошибки:

  • NumberOfAttachmentsExceeded : сообщение или встреча содержат слишком много вложений.

close()

Закрывает текущий создаваемый элемент.

Работа метода close зависит от текущего состояния создаваемого элемента. Если элемент содержит несохраненные изменения, клиент предлагает пользователю сохранить, отменить или закрыть действие.

В Outlook для Windows (классическая версия) и на Mac этот close метод не влияет на ответ в области чтения.

close(): void;

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.3

Минимальный уровень разрешений: restricted

Применимый режим Outlook: Compose сообщений

Важно! В Outlook в Интернете и новом Outlook для Windows, если элемент является встречей и ранее был сохранен с помощью saveAsync, пользователю предлагается сохранить, отменить или отменить, даже если с момента последнего сохранения элемента не произошло никаких изменений.

Совет. Используйте метод closeAsync вместо метода, close если надстройка должна выполнять следующие задачи:

  • Автоматически отменять написанное сообщение без запроса пользователя с помощью диалогового окна сохранения.

  • Определять, когда пользователь отменяет диалоговое окно сохранения элемента в создаваемом сообщении.

  • Закрытие ответа в области чтения или существующего черновика.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/25-item-save-and-close/close.yaml

Office.context.mailbox.item.close();

closeAsync(options, callback)

Закрывает создаваемое текущее сообщение с возможностью отмены несохраненных изменений. Сообщение может быть новым сообщением, ответом или существующим черновиком.

closeAsync(options: Office.AsyncContextOptions & { discardItem: boolean }, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

options

Office.AsyncContextOptions & { discardItem: boolean }

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова. discardItem : Если true, текущее сообщение закрывается, а несохраненные изменения удаляются. Если параметр не объявлен или ему задано значение false, появляется диалоговое окно сохранения, предлагающее сохранить черновик, отменить изменения или отменить операцию. Это поведение возникает для новых сообщений и ответов, всплывающих из области чтения. Если вы хотите закрыть ответ в области чтения или существующий черновик, необходимо установить discardItem значение true. В противном случае вызов вернет ошибку. Дополнительные сведения об ошибке см. в разделе "Замечания".

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. Когда метод завершается, функция, переданная в параметре обратного вызова, вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult .

Возвращаемое значение

void

Комментарии

Набор API: почтовый ящик 1.14

Минимальный уровень разрешений: элемент для чтения и записи

Применимый режим Outlook: Compose сообщений

Важно!

  • Этот closeAsync метод поддерживается только в реализациях области задач и команд функций. Она не поддерживается в обработчиках на основе событий или в сценариях множественного выбора элементов.

  • closeAsync Когда метод успешно закрывает и отбрасывает текущее сообщение, надстройка, вызвавшая его, перестает работать.

Ошибки:

  • The operation was cancelled by the user : пользователь выбирает Отмена в диалоговом окне сохранения, и свойство discardItem не определено или имеет значение false.

  • The operation is not supported closeAsync: метод пытается закрыть ответ в области чтения или существующий черновик, но свойство discardItem не определено или имеет значение false.

closeAsync(callback)

Закрывает создаваемое текущее сообщение.

Поведение при составлении нового сообщения зависит от того, содержит ли оно несохраненные изменения. Если изменения не были сделаны, сообщение закрывается без диалогового окна сохранения. С другой стороны, если сообщение содержит несохраненные изменения, появляется диалоговое окно сохранения, предлагающее сохранить черновик, отменить изменения или отменить операцию.

closeAsync(callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. Когда метод завершается, функция, переданная в параметре обратного вызова, вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult .

Возвращаемое значение

void

Комментарии

Набор API: почтовый ящик 1.14

Минимальный уровень разрешений: элемент для чтения и записи

Применимый режим Outlook: Compose сообщений

Важно!

  • Этот closeAsync метод поддерживается только в реализациях области задач и команд функций. Она не поддерживается в обработчиках на основе событий или в сценариях множественного выбора элементов.

  • closeAsync Когда метод успешно закрывает и отбрасывает текущее сообщение, надстройка, вызвавшая его, перестает работать.

Ошибки:

  • The operation was cancelled by the user : пользователь выбирает "Отмена " в диалоговом окне сохранения.

  • The operation is not supported closeAsync: метод пытается закрыть ответ в области чтения или существующий черновик.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/25-item-save-and-close/close-async.yaml

// This snippet closes the current message being composed and discards any unsaved changes when the optional property, discardItem, is set to true.
// The API call works on a new message being composed, a reply, or an existing draft.
// When discardItem is set to false or isn't defined on a new message with unsaved changes, the user is prompted to save a draft, discard the changes, or cancel the close operation.
Office.context.mailbox.item.closeAsync(
  { discardItem: true },
  (asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
      console.log("Action failed with error: " + asyncResult.error.message);
      return;
    }
  });

disableClientSignatureAsync(options, callback)

Отключает подпись клиента Outlook.

Поведение этого метода зависит от клиента, запущенного надстройкой.

  • В Outlook в Интернете и новом Outlook для Windows параметр подписи для новых писем, ответов и пересылаемых сообщений отключен. Выбранная сигнатура также отключается методом.

  • В Outlook для Windows (классическая версия) и на Mac подпись в разделах " Новые сообщения " и "Ответы/пересылки" отправляющей учетной записи установлена на (нет).

  • В Outlook для Android и iOS подпись, сохраненная на мобильном устройстве, очищается.

disableClientSignatureAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

options
Office.AsyncContextOptions

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. Когда метод завершается, функция, переданная в параметре обратного вызова, вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult .

Возвращаемое значение

void

Комментарии

Набор API: почтовый ящик 1.10

Минимальный уровень разрешений: элемент для чтения и записи

Применимый режим Outlook: Compose сообщений

Важно! Этот способ поддерживается в функции Compose в Outlook на Android и iOS, начиная с версии 4.2352.0. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Outlook, поддерживаемые Outlook на мобильных устройствах.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/work-with-client-signatures.yaml

// Disable the client signature.
Office.context.mailbox.item.disableClientSignatureAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("disableClientSignatureAsync succeeded");
  } else {
    console.error(asyncResult.error);
  }
});

disableClientSignatureAsync(callback)

Отключает подпись клиента Outlook.

Поведение этого метода зависит от клиента, запущенного надстройкой.

  • В Outlook в Интернете и новом Outlook для Windows параметр подписи для новых писем, ответов и пересылаемых сообщений отключен. Выбранная сигнатура также отключается методом.

  • В Outlook для Windows (классическая версия) и на Mac подпись в разделах " Новые сообщения " и "Ответы/пересылки" отправляющей учетной записи установлена на (нет).

  • В Outlook для Android и iOS подпись, сохраненная на мобильном устройстве, очищается.

disableClientSignatureAsync(callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. Когда метод завершается, функция, переданная в параметре обратного вызова, вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult .

Возвращаемое значение

void

Комментарии

Набор API: почтовый ящик 1.10

Минимальный уровень разрешений: элемент для чтения и записи

Применимый режим Outlook: Compose сообщений

Важно! Этот способ поддерживается в функции Compose в Outlook на Android и iOS, начиная с версии 4.2352.0. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Outlook, поддерживаемые Outlook на мобильных устройствах.

getAttachmentContentAsync(attachmentId, options, callback)

Получает вложение из сообщения или встречи и возвращает его как AttachmentContent объект.

getAttachmentContentAsync(attachmentId: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<AttachmentContent>) => void): void;

Параметры

attachmentId

string

Идентификатор вложения, которое нужно получить. В Outlook в Интернете и новом Outlook для Windows временный идентификатор вложения, локально созданный для встроенных изображений, которые еще не были отправлены на сервер, поддерживается в течение текущего сеанса создания.

options
Office.AsyncContextOptions

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<Office.AttachmentContent>) => void

Необязательный параметр. Когда метод завершается, функция, переданная в параметре callback , вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult . Если вызов завершится с ошибкой, свойство asyncResult.error будет содержать код ошибки с указанием причины сбоя.

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.8

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно!

  • Метод getAttachmentContentAsync получает вложение с указанным идентификатором из элемента. Рекомендуется получить идентификатор вложения из getAttachmentsAsync вызова, а затем в том же сеансе использовать этот идентификатор для извлечения вложения.

  • Начиная с 30 марта 2026 г. после завершения вызова addFileAttachmentAsyncaddFileAttachmentFromBase64AsyncisInlinetrue встроенным изображениям в сообщениях в Outlook в Интернете и новом Outlook для Windows локально назначается временный идентификатор вложения при их отправке на сервер. Временному идентификатору вложения предназначается префикс addinId. После отправки изображений на сервер им назначается идентификатор веб-служб Exchange (EWS). Идентификатор временного вложения поддерживается только в течение текущего сеанса создания сообщения. Дополнительные сведения об обработке встроенных изображений см. в статье Изменения идентификаторов вложений для встроенных изображений в надстройках Outlook.

  • В Outlook в Интернете и новом Outlook для Windows не поддерживает вложения, getAttachmentContentAsync добавленные с помощью параметра "Отправка и общий доступ".

  • В Outlook в Интернете, на мобильных устройствах и в новом Outlook для Windows идентификатор вложения действителен только в рамках одного сеанса. Сеанс завершается, когда пользователь закрывает приложение или если пользователь начинает создавать встроенную форму, а затем открывает форму, чтобы продолжить в отдельном окне.

Ошибки:

  • AttachmentTypeNotSupported : тип вложения не поддерживается. К неподдерживаемым типам относятся встроенные изображения в формате RTF или вложения элементов, отличные от элементов электронной почты или календаря (таких как контакт или задача).

  • InvalidAttachmentId : идентификатор вложения не существует.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/get-attachment-content.yaml

// Gets the attachments of the current message or appointment in compose mode. The getAttachmentsAsync call can only be used in compose mode.
Office.context.mailbox.item.getAttachmentsAsync((result) => {
  if (result.status === Office.AsyncResultStatus.Failed) {
    console.log(result.error.message);
    return;
  }

  if (result.value.length <= 0) {
    console.log("Mail item has no attachments.");
    return;
  }

  for (let i = 0; i < result.value.length; i++) {
    // Log the attachment type and its contents to the console.
    Office.context.mailbox.item.getAttachmentContentAsync(result.value[i].id, handleAttachmentsCallback);
  }
});

getAttachmentContentAsync(attachmentId, callback)

Получает вложение из сообщения или встречи и возвращает его как AttachmentContent объект.

getAttachmentContentAsync(attachmentId: string, callback?: (asyncResult: Office.AsyncResult<AttachmentContent>) => void): void;

Параметры

attachmentId

string

Идентификатор вложения, которое нужно получить. В Outlook в Интернете и новом Outlook для Windows временный идентификатор вложения, локально созданный для встроенных изображений, которые еще не были отправлены на сервер, поддерживается в течение текущего сеанса создания.

callback

(asyncResult: Office.AsyncResult<Office.AttachmentContent>) => void

Необязательный параметр. Когда метод завершается, функция, переданная в параметре callback , вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult . Если вызов завершится с ошибкой, свойство asyncResult.error будет содержать код ошибки с указанием причины сбоя.

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.8

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно!

  • Метод getAttachmentContentAsync получает вложение с указанным идентификатором из элемента. Рекомендуется получить идентификатор вложения из getAttachmentsAsync вызова, а затем в том же сеансе использовать этот идентификатор для извлечения вложения.

  • Начиная с 30 марта 2026 г. после завершения вызова addFileAttachmentAsyncaddFileAttachmentFromBase64AsyncisInlinetrue встроенным изображениям в сообщениях в Outlook в Интернете и новом Outlook для Windows локально назначается временный идентификатор вложения при их отправке на сервер. Временному идентификатору вложения предназначается префикс addinId. После отправки изображений на сервер им назначается идентификатор веб-служб Exchange (EWS). Идентификатор временного вложения поддерживается только в течение текущего сеанса создания сообщения. Дополнительные сведения об обработке встроенных изображений см. в статье Изменения идентификаторов вложений для встроенных изображений в надстройках Outlook.

  • В Outlook в Интернете и новом Outlook для Windows не поддерживает вложения, getAttachmentContentAsync добавленные с помощью параметра "Отправка и общий доступ".

  • В Outlook в Интернете, на мобильных устройствах и в новом Outlook для Windows идентификатор вложения действителен только в рамках одного сеанса. Сеанс завершается, когда пользователь закрывает приложение или если пользователь начинает создавать встроенную форму, а затем открывает форму, чтобы продолжить в отдельном окне.

Ошибки:

  • AttachmentTypeNotSupported : тип вложения не поддерживается. К неподдерживаемым типам относятся встроенные изображения в формате RTF или вложения элементов, отличные от элементов электронной почты или календаря (таких как контакт или задача).

  • InvalidAttachmentId : идентификатор вложения не существует.

getAttachmentsAsync(options, callback)

Получает вложения элемента в виде массива.

getAttachmentsAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<AttachmentDetailsCompose[]>) => void): void;

Параметры

options
Office.AsyncContextOptions

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<Office.AttachmentDetailsCompose[]>) => void

Необязательный параметр. После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult. Если вызов завершится с ошибкой, свойство asyncResult.error будет содержать код ошибки с указанием причины сбоя. Если вызов выполнен успешно, в свойстве asyncResult.value возвращается массив AttachmentDetailsCompose объектов.

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.8

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно!

  • Начиная с 30 марта 2026 г. после завершения вызова addFileAttachmentAsyncaddFileAttachmentFromBase64AsyncisInlinetrue встроенным изображениям в сообщениях в Outlook в Интернете и новом Outlook для Windows локально назначается временный идентификатор вложения при их отправке на сервер. Временному идентификатору вложения предназначается префикс addinId. После отправки изображений на сервер им назначается идентификатор веб-служб Exchange (EWS). Идентификатор временного вложения поддерживается только в течение текущего сеанса создания сообщения. Дополнительные сведения об обработке встроенных изображений см. в статье Изменения идентификаторов вложений для встроенных изображений в надстройках Outlook.

  • В Outlook в Интернете и в новой версии Outlook для Windows пользователи могут выбрать параметр «Отправка и общий доступ», чтобы отправить вложение в OneDrive и включить ссылку на файл в элемент письма. Однако, поскольку включена только ссылка, getAttachmentsAsync это вложение не возвращается.

  • Для вложений типа Office.MailboxEnums.AttachmentType.Itemразмер и сериализованное содержимое, возвращаемые getAttachmentsAsync обработчиком, могут различаться между вызовами, выполненными из обработчика OnMessageSend событий или OnAppointmentSend . Чтобы надежно обнаруживать изменения вложения, обработайте OnMessageAttachmentsChanged вместо этого событие OR OnAppointmentAttachmentsChanged .

Примеры

// 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.");
  }
});

getAttachmentsAsync(callback)

Получает вложения элемента в виде массива.

getAttachmentsAsync(callback?: (asyncResult: Office.AsyncResult<AttachmentDetailsCompose[]>) => void): void;

Параметры

callback

(asyncResult: Office.AsyncResult<Office.AttachmentDetailsCompose[]>) => void

Необязательный параметр. После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult. Если вызов завершится с ошибкой, свойство asyncResult.error будет содержать код ошибки с указанием причины сбоя. Если вызов выполнен успешно, в свойстве asyncResult.value возвращается массив AttachmentDetailsCompose объектов.

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.8

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно!

  • Начиная с 30 марта 2026 г. после завершения вызова addFileAttachmentAsyncaddFileAttachmentFromBase64AsyncisInlinetrue встроенным изображениям в сообщениях в Outlook в Интернете и новом Outlook для Windows локально назначается временный идентификатор вложения при их отправке на сервер. Временному идентификатору вложения предназначается префикс addinId. После отправки изображений на сервер им назначается идентификатор веб-служб Exchange (EWS). Идентификатор временного вложения поддерживается только в течение текущего сеанса создания сообщения. Дополнительные сведения об обработке встроенных изображений см. в статье Изменения идентификаторов вложений для встроенных изображений в надстройках Outlook.

  • В Outlook в Интернете и в новой версии Outlook для Windows пользователи могут выбрать параметр «Отправка и общий доступ», чтобы отправить вложение в OneDrive и включить ссылку на файл в элемент письма. Однако, поскольку включена только ссылка, getAttachmentsAsync это вложение не возвращается.

  • Для вложений типа Office.MailboxEnums.AttachmentType.Itemразмер и сериализованное содержимое, возвращаемые getAttachmentsAsync обработчиком, могут различаться между вызовами, выполненными из обработчика OnMessageSend событий или OnAppointmentSend . Чтобы надежно обнаруживать изменения вложения, обработайте OnMessageAttachmentsChanged вместо этого событие OR OnAppointmentAttachmentsChanged .

getComposeTypeAsync(options, callback)

Определяет тип создаваемого сообщения и тип приведения. Сообщение может быть новым, ответным или пересланным. Типом приведения может быть HTML или обычный текст.

getComposeTypeAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<any>) => void): void;

Параметры

options
Office.AsyncContextOptions

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<any>) => void

После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult. В случае успеха свойство asyncResult.value содержит объект с типами создания элемента и приведения.

Возвращаемое значение

void

Объект со ComposeType значениями и CoercionType перечислением для элемента сообщения.

Комментарии

Набор API: почтовый ящик 1.10

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Этот способ поддерживается в Outlook для Android и в iOS, начиная с версии 4.2352.0. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Outlook, поддерживаемые Outlook на мобильных устройствах.

getComposeTypeAsync(callback)

Определяет тип создаваемого сообщения и тип приведения. Сообщение может быть новым, ответным или пересланным. Типом приведения может быть HTML или обычный текст.

getComposeTypeAsync(callback: (asyncResult: Office.AsyncResult<any>) => void): void;

Параметры

callback

(asyncResult: Office.AsyncResult<any>) => void

После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult. В случае успеха свойство asyncResult.value содержит объект с типами создания элемента и приведения.

Возвращаемое значение

void

Объект со ComposeType значениями и CoercionType перечислением для элемента сообщения.

Комментарии

Набор API: почтовый ящик 1.10

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Этот способ поддерживается в Outlook для Android и в iOS, начиная с версии 4.2352.0. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Outlook, поддерживаемые Outlook на мобильных устройствах.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/work-with-client-signatures.yaml

// Get the compose type of the current message.
Office.context.mailbox.item.getComposeTypeAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log(
      "getComposeTypeAsync succeeded with composeType: " +
        asyncResult.value.composeType +
        " and coercionType: " +
        asyncResult.value.coercionType
    );
  } else {
    console.error(asyncResult.error);
  }
});

getConversationIndexAsync(options, callback)

Получает позицию текущего сообщения в цепочке беседы в кодировке Base64.

getConversationIndexAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

options
Office.AsyncContextOptions

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<string>) => void

Когда метод завершается, функция, переданная в параметре callback , вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult . В свойстве asyncResult.value возвращается позиция текущего сообщения в беседе в кодировке Base64.

Возвращаемое значение

void

Комментарии

Набор API: почтовый ящик 1.14

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Совет. Индекс беседы можно использовать для поиска сообщения в цепочке беседы. Затем используйте его содержимое, чтобы предоставить контекст для создаваемого сообщения.

getConversationIndexAsync(callback)

Получает позицию текущего сообщения в цепочке беседы в кодировке Base64.

getConversationIndexAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

callback

(asyncResult: Office.AsyncResult<string>) => void

Когда метод завершается, функция, переданная в параметре callback , вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult . В свойстве asyncResult.value возвращается позиция текущего сообщения в беседе в кодировке Base64.

Возвращаемое значение

void

Комментарии

Набор API: почтовый ящик 1.14

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Совет. Индекс беседы можно использовать для поиска сообщения в цепочке беседы. Затем используйте его содержимое, чтобы предоставить контекст для создаваемого сообщения.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-conversation-index.yaml

// This snippet returns the Base64-encoded position of the current message in a conversation thread (PR_CONVERSATION_INDEX).
// The API call is supported on a message being composed and isn't supported on read items or appointments.
Office.context.mailbox.item.getConversationIndexAsync((result) => {
   if (result.status === Office.AsyncResultStatus.Failed) {
      console.log(result.error.message);
      return;
   }
   
   const conversationIndex = result.value;
   if (conversationIndex) {
      console.log("Position in the conversation thread: " + conversationIndex);
   } else {
      console.log("The current message doesn't belong to a conversation thread.");
   }
});

getInitializationContextAsync(options, callback)

Получает данные инициализации, передаваемые при активации надстройки с помощью интерактивного сообщения.

getInitializationContextAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

options
Office.AsyncContextOptions

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<string>) => void

После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult. При успешном выполнении данные контекста инициализации предоставляются в виде строки (или пустой строки, если контекста инициализации нет) в свойстве asyncResult.value .

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.8

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Примеры

// Get the initialization context (if present).
Office.context.mailbox.item.getInitializationContextAsync((asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
        if (asyncResult.value.length > 0) {
            // The value is a string, parse to an object.
            const context = JSON.parse(asyncResult.value);
            // Do something with context.
        } else {
            // Empty context, treat as no context.
        }
    } else {
        // Handle the error.
    }
});

getInitializationContextAsync(callback)

Получает данные инициализации, передаваемые при активации надстройки с помощью интерактивного сообщения.

getInitializationContextAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

callback

(asyncResult: Office.AsyncResult<string>) => void

После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult. При успешном выполнении данные контекста инициализации предоставляются в виде строки (или пустой строки, если контекста инициализации нет) в свойстве asyncResult.value .

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.8

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

getItemClassAsync(options, callback)

Получает класс элемента веб-служб Exchange для выбранного сообщения.

getItemClassAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

options
Office.AsyncContextOptions

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<string>) => void

Когда метод завершается, функция, переданная в параметре callback , вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult . Класс сообщений возвращается в свойстве.asyncResult.value

Возвращаемое значение

void

Комментарии

Набор API: почтовый ящик 1.14

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно!

В следующей таблице перечислены классы сообщений по умолчанию.

Класс элемента Описание
IPM.Note Новые сообщения и ответы на сообщения
IPM.Schedule.Meeting.Request приглашения на собрания;
IPM.Schedule.Meeting.Canceled Отмены собраний
IPM.Schedule.Meeting.Resp.Neg Отклонение приглашений на собрания
IPM.Schedule.Meeting.Resp.Pos Принятие приглашений на собрания
IPM.Schedule.Meeting.Resp.Tent Предварительное принятие приглашений на собрания

getItemClassAsync(callback)

Получает класс элемента веб-служб Exchange для выбранного сообщения.

getItemClassAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

callback

(asyncResult: Office.AsyncResult<string>) => void

Когда метод завершается, функция, переданная в параметре callback , вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult . Класс сообщений возвращается в свойстве.asyncResult.value

Возвращаемое значение

void

Комментарии

Набор API: почтовый ящик 1.14

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно!

В следующей таблице перечислены классы сообщений по умолчанию.

Класс элемента Описание
IPM.Note Новые сообщения и ответы на сообщения
IPM.Schedule.Meeting.Request приглашения на собрания;
IPM.Schedule.Meeting.Canceled Отмены собраний
IPM.Schedule.Meeting.Resp.Neg Отклонение приглашений на собрания
IPM.Schedule.Meeting.Resp.Pos Принятие приглашений на собрания
IPM.Schedule.Meeting.Resp.Tent Предварительное принятие приглашений на собрания

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-item-class-async.yaml

// This snippet returns the Exchange Web Services item class property (PR_MESSAGE_CLASS) of the current message.
// The API call is only supported on a message being composed.
Office.context.mailbox.item.getItemClassAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log("Action failed with error: " + asyncResult.error.message);
    return;
  }

  console.log("Item class of the current message: " + asyncResult.value);
});

getItemIdAsync(options, callback)

Асинхронно получает идентификатор элемента веб-служб Exchange (EWS) сохраненного элемента.

При вызове этот метод возвращает идентификатор элемента с помощью функции обратного вызова.

getItemIdAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

options
Office.AsyncContextOptions

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<string>) => void

После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult. Код элемента EWS возвращается в свойстве asyncResult.value .

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.8

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно!

  • Возвращаемый идентификатор элемента не идентичен идентификатору записи Outlook или идентификатору, используемому REST API Outlook. Перед вызовами REST API с использованием этого значения его следует преобразовать с помощью Office.context.mailbox.convertToRestId.

  • Если ваша надстройка вызывает getItemIdAsync (например, чтобы получить идентификатор элемента для использования с EWS или REST API), имейте в виду, что когда Outlook находится в режиме кэширования, может потребоваться некоторое время для синхронизации элемента с сервером. Пока элемент не синхронизирован, его идентификатор не будет распознан и при его использовании будет возвращаться ошибка.

Ошибки:

  • ItemNotSaved : идентификатор нельзя получить, пока элемент не сохранен.

getItemIdAsync(callback)

Асинхронно получает идентификатор элемента веб-служб Exchange (EWS) сохраненного элемента.

При вызове этот метод возвращает идентификатор элемента с помощью функции обратного вызова.

getItemIdAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

callback

(asyncResult: Office.AsyncResult<string>) => void

После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult. Код элемента EWS возвращается в свойстве asyncResult.value .

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.8

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно!

  • Возвращаемый идентификатор элемента не идентичен идентификатору записи Outlook или идентификатору, используемому REST API Outlook. Перед вызовами REST API с использованием этого значения его следует преобразовать с помощью Office.context.mailbox.convertToRestId.

  • Если ваша надстройка вызывает getItemIdAsync (например, чтобы получить идентификатор элемента для использования с EWS или REST API), имейте в виду, что когда Outlook находится в режиме кэширования, может потребоваться некоторое время для синхронизации элемента с сервером. Пока элемент не синхронизирован, его идентификатор не будет распознан и при его использовании будет возвращаться ошибка.

Ошибки:

  • ItemNotSaved : идентификатор нельзя получить, пока элемент не сохранен.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/item-id-compose.yaml

Office.context.mailbox.item.getItemIdAsync((result) => {
    if (result.status === Office.AsyncResultStatus.Failed) {
        console.error(`getItemIdAsync failed with message: ${result.error.message}`);
        return;
    }

    console.log(result.value);
});

getSelectedDataAsync(coercionType, options, callback)

Асинхронно возвращает данные, выбранные в теме или тексте сообщения.

Если выделения нет, но курсор находится в теле или теме, метод возвращает пустую строку для выбранных данных. Если выбраны не текст и не тема, метод возвращает ошибку InvalidSelection.

Чтобы получить доступ к выбранным данным из функции обратного вызова, вызовите asyncResult.value.data. Чтобы получить доступ к свойству-источнику, из которого сделан выбор, вызовите asyncResult.value.sourceProperty, которое будет иметь значение или bodysubject.

getSelectedDataAsync(coercionType: Office.CoercionType | string, options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<any>) => void): void;

Параметры

coercionType

Office.CoercionType | string

Запрашивает формат данных. Если Text, метод возвращает обычный текст в виде строки, удаляя все присутствующие теги HTML. Если Html, метод возвращает выделенный текст, будь то обычный текст или HTML.

options
Office.AsyncContextOptions

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<any>) => void

После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult.

Возвращаемое значение

void

Выбранные данные в виде строки в формате, определяемом как coercionType.

Комментарии

Набор API: почтовый ящик 1.2

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Примеры

// Get selected data.
Office.context.mailbox.item.getSelectedDataAsync(Office.CoercionType.Text, { option1: "option1"}, getCallback);

function getCallback(asyncResult) {
    const text = asyncResult.value.data;
    const prop = asyncResult.value.sourceProperty;

    console.log(`Selected text in ${prop}: ${text}`);
}

getSelectedDataAsync(coercionType, callback)

Асинхронно возвращает данные, выбранные в теме или тексте сообщения.

Если выделения нет, но курсор находится в теле или теме, метод возвращает пустую строку для выбранных данных. Если выбраны не текст и не тема, метод возвращает ошибку InvalidSelection.

Чтобы получить доступ к выбранным данным из функции обратного вызова, вызовите asyncResult.value.data. Чтобы получить доступ к свойству-источнику, из которого сделан выбор, вызовите asyncResult.value.sourceProperty, которое будет иметь значение или bodysubject.

getSelectedDataAsync(coercionType: Office.CoercionType | string, callback: (asyncResult: Office.AsyncResult<any>) => void): void;

Параметры

coercionType

Office.CoercionType | string

Запрашивает формат данных. Если Text, метод возвращает обычный текст в виде строки, удаляя все присутствующие теги HTML. Если Html, метод возвращает выделенный текст, будь то обычный текст или HTML.

callback

(asyncResult: Office.AsyncResult<any>) => void

После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult.

Возвращаемое значение

void

Выбранные данные в виде строки в формате, определяемом как coercionType.

Комментарии

Набор API: почтовый ящик 1.2

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/get-selected-data.yaml

Office.context.mailbox.item.getSelectedDataAsync(Office.CoercionType.Text, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const text = asyncResult.value.data;
    const prop = asyncResult.value.sourceProperty;
    console.log("Selected text in " + prop + ": " + text);
  } else {
    console.error(asyncResult.error);
  }
});

getSharedPropertiesAsync(options, callback)

Получает свойства встречи или сообщения в общей папке или общем почтовом ящике.

Дополнительные сведения об использовании этого API см. в статье "Включение общих папок и сценариев почтовых ящиков в надстройке Outlook".

getSharedPropertiesAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<SharedProperties>) => void): void;

Параметры

options
Office.AsyncContextOptions

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<Office.SharedProperties>) => void

Когда метод завершается, функция, переданная в параметре callback , вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult . Свойство asyncResult.value предоставляет свойства общего элемента.

Возвращаемое значение

void

Комментарии

Набор API: почтовый ящик 1.8 для поддержки общих папок, почтовый ящик 1.13 для поддержки общих почтовых ящиков

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Примечание. Этот метод не поддерживается в Outlook для iOS или Android.

Важно! В режиме Compose сообщений этот API не поддерживается в Outlook в Интернете и в Windows (новой и классической версиях), если не выполнены следующие условия.

А. Делегирование доступа и общие папки

  1. Владелец почтового ящика начинает писать сообщения. Это может быть новое сообщение, ответ или пересылка.

  2. Они сохраняют сообщение, а затем перемещают его из своей папки "Черновики " в папку, к которой предоставлен общий доступ делегату.

  3. Делегат открывает черновик из общей папки, а затем продолжает его создавать.

Б. Общий почтовый ящик, открытый на той же панели, что и основной почтовый ящик пользователя (веб-версия, классическая версия Windows) или общий почтовый ящик, который не был преобразован в полную учетную запись (новая Windows)

  1. Пользователь общего почтового ящика пишет сообщение. Это может быть новое сообщение, ответ или пересылка.

  2. Они сохраняют сообщение, а затем перемещают его из своей папки " Черновики " в папку общего почтового ящика.

  3. Другой пользователь общего почтового ящика открывает черновик из общего почтового ящика и продолжает его создавать.

После выполнения этих условий сообщение становится доступным в общем контексте, и надстройки, поддерживающие эти общие сценарии, могут получить общие свойства элемента. После отправки сообщение обычно помещается в папку " Отправленные " личного почтового ящика отправителя.

Способ getSharedPropertiesAsync поддерживается на следующих платформах без дополнительных условий.

  • Когда общий почтовый ящик открыт в отдельной вкладке или окне с помощью параметра "Открыть другой почтовый ящик", Outlook в Интернете.

  • Новый Outlook в Windows, когда общий почтовый ящик повышен до полной учетной записи.

getSharedPropertiesAsync(callback)

Получает свойства встречи или сообщения в общей папке или общем почтовом ящике.

Дополнительные сведения об использовании этого API см. в статье "Включение общих папок и сценариев почтовых ящиков в надстройке Outlook".

getSharedPropertiesAsync(callback: (asyncResult: Office.AsyncResult<SharedProperties>) => void): void;

Параметры

callback

(asyncResult: Office.AsyncResult<Office.SharedProperties>) => void

Когда метод завершается, функция, переданная в параметре callback , вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult . Свойство asyncResult.value предоставляет свойства общего элемента.

Возвращаемое значение

void

Комментарии

Набор API: почтовый ящик 1.8 для поддержки общих папок, почтовый ящик 1.13 для поддержки общих почтовых ящиков

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Примечание. Этот метод не поддерживается в Outlook для iOS или Android.

Важно! В режиме Compose сообщений этот API не поддерживается в Outlook в Интернете и в Windows (новой и классической версиях), если не выполнены следующие условия.

А. Делегирование доступа и общие папки

  1. Владелец почтового ящика начинает писать сообщения. Это может быть новое сообщение, ответ или пересылка.

  2. Они сохраняют сообщение, а затем перемещают его из своей папки "Черновики " в папку, к которой предоставлен общий доступ делегату.

  3. Делегат открывает черновик из общей папки, а затем продолжает его создавать.

Б. Общий почтовый ящик, открытый на той же панели, что и основной почтовый ящик пользователя (веб-версия, классическая версия Windows) или общий почтовый ящик, который не был преобразован в полную учетную запись (новая Windows)

  1. Пользователь общего почтового ящика пишет сообщение. Это может быть новое сообщение, ответ или пересылка.

  2. Они сохраняют сообщение, а затем перемещают его из своей папки " Черновики " в папку общего почтового ящика.

  3. Другой пользователь общего почтового ящика открывает черновик из общего почтового ящика и продолжает его создавать.

После выполнения этих условий сообщение становится доступным в общем контексте, и надстройки, поддерживающие эти общие сценарии, могут получить общие свойства элемента. После отправки сообщение обычно помещается в папку " Отправленные " личного почтового ящика отправителя.

Способ getSharedPropertiesAsync поддерживается на следующих платформах без дополнительных условий.

  • Когда общий почтовый ящик открыт в отдельной вкладке или окне с помощью параметра "Открыть другой почтовый ящик", Outlook в Интернете.

  • Новый Outlook в Windows, когда общий почтовый ящик повышен до полной учетной записи.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/65-delegates-and-shared-folders/get-shared-properties.yaml

Office.context.mailbox.item.getSharedPropertiesAsync((result) => {
  if (result.status === Office.AsyncResultStatus.Failed) {
    console.error("The current folder or mailbox isn't shared.");
    return;
  }
  const sharedProperties = result.value;
  console.log(`Owner: ${sharedProperties.owner}`);
  console.log(`Permissions: ${sharedProperties.delegatePermissions}`);
  console.log(`Target mailbox: ${sharedProperties.targetMailbox}`);
});

isClientSignatureEnabledAsync(options, callback)

Получает включенную сигнатуру клиента.

В Outlook для Windows (классическая версия) и на Mac вызов API возвращается true , если в качестве подписи по умолчанию для новых сообщений, ответов или пересылаемых сообщений задан шаблон для отправляющей учетной записи Outlook. В Outlook в Интернете и новом Outlook в Windows вызов API возвращаетсяtrue, включена ли подпись для типовnewMail создания ,reply или .forward Если в Outlook для Windows (классическая версия) или для Mac задано значение "(нет)" либо отключено в Outlook в Интернете или новой версии Outlook для Windows, вызов API возвращает false.

isClientSignatureEnabledAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<boolean>) => void): void;

Параметры

options
Office.AsyncContextOptions

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<boolean>) => void

После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult.

Возвращаемое значение

void

Комментарии

Набор API: почтовый ящик 1.10

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/work-with-client-signatures.yaml

// Check if the client signature is currently enabled.
Office.context.mailbox.item.isClientSignatureEnabledAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("isClientSignatureEnabledAsync succeeded with result: " + asyncResult.value);
  } else {
    console.error(asyncResult.error);
  }
});

isClientSignatureEnabledAsync(callback)

Получает включенную сигнатуру клиента.

В Outlook для Windows (классическая версия) и на Mac вызов API возвращается true , если в качестве подписи по умолчанию для новых сообщений, ответов или пересылаемых сообщений задан шаблон для отправляющей учетной записи Outlook. В Outlook в Интернете и новом Outlook в Windows вызов API возвращаетсяtrue, включена ли подпись для типовnewMail создания ,reply или .forward Если в Outlook для Windows (классическая версия) или для Mac задано значение "(нет)" либо отключено в Outlook в Интернете или новой версии Outlook для Windows, вызов API возвращает false.

isClientSignatureEnabledAsync(callback: (asyncResult: Office.AsyncResult<boolean>) => void): void;

Параметры

callback

(asyncResult: Office.AsyncResult<boolean>) => void

После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult.

Возвращаемое значение

void

Комментарии

Набор API: почтовый ящик 1.10

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

loadCustomPropertiesAsync(callback, userContext)

Асинхронно загружает настраиваемые свойства для надстройки для выбранного элемента.

Настраиваемые свойства хранятся в виде пар "ключ-значение" для каждого приложения и элемента. Этот метод возвращает объект CustomProperties в обратном вызове, который предоставляет методы для доступа к настраиваемым свойствам, относящимся к текущему элементу и текущей надстройке. Пользовательские свойства элемента не зашифрованы, поэтому его не следует использовать в качестве безопасного хранилища.

Настраиваемые свойства предоставляются в виде объекта CustomProperties в свойстве asyncResult.value. Этот объект можно использовать для получения, настройки, сохранения и удаления настраиваемых свойств элемента почты.

loadCustomPropertiesAsync(callback: (asyncResult: Office.AsyncResult<CustomProperties>) => void, userContext?: any): void;

Параметры

callback

(asyncResult: Office.AsyncResult<Office.CustomProperties>) => void

После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult.

userContext

any

Необязательный параметр. Разработчики могут указать любой объект, к которому необходимо получить доступ, в функции обратного вызова. Доступ к этому объекту можно получить с помощью свойства asyncResult.asyncContext в функции обратного вызова.

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.1

Дополнительные сведения о настраиваемых свойствах см. в статье Получение и настройка метаданных надстройки для надстройки Outlook.

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/15-item-custom-properties/load-set-get-save.yaml

Office.context.mailbox.item.loadCustomPropertiesAsync((result) => {
  if (result.status === Office.AsyncResultStatus.Failed) {
    console.error(`loadCustomPropertiesAsync failed with message ${result.error.message}`);
    return;
  }

  customProps = result.value;
  console.log("Loaded the CustomProperties object.");
});

removeAttachmentAsync(attachmentId, options, callback)

Удаляет вложение из сообщения или встречи.

Метод removeAttachmentAsync удаляет из элемента вложение с указанным идентификатором. Идентификатор вложения рекомендуется использовать для удаления вложения, только если оно добавлено тем же почтовым приложением в ходе текущего сеанса. В Outlook в Интернете, на мобильных устройствах и в новом Outlook для Windows идентификатор вложения действителен только в рамках одного сеанса. Сеанс завершается, когда пользователь закрывает приложение или если пользователь начинает создавать встроенную форму, а затем открывает форму, чтобы продолжить в отдельном окне.

removeAttachmentAsync(attachmentId: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

attachmentId

string

Идентификатор удаляемого вложения. Максимальная длина строки attachmentId составляет 200 символов в Outlook в Интернете и Windows (новой и классической).

options
Office.AsyncContextOptions

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult. Если удалить вложение не удается, свойство asyncResult.error содержит код ошибки с указанием ее причины.

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.1

Минимальный уровень разрешений: элемент для чтения и записи

Применимый режим Outlook: Compose сообщений

Важно! ЭтотremoveAttachmentAsync метод не удаляет встроенные вложения из элемента письма. Чтобы удалить встроенное вложение, сначала получите его основную часть, а затем удалите ссылки на вложение из его содержимого. С помощью интерфейсов API Office.Body можно получить и настроить текст элемента.

Ошибки:

  • InvalidAttachmentId : идентификатор вложения не существует.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml

Office.context.mailbox.item.removeAttachmentAsync(
  (document.getElementById("attachmentId") as HTMLInputElement).value,
  (result) => {
    if (result.status === Office.AsyncResultStatus.Failed) {
      console.error(result.error.message);
      return;
    }
    console.log(`Attachment removed successfully.`);
  }
);

removeAttachmentAsync(attachmentId, callback)

Удаляет вложение из сообщения или встречи.

Метод removeAttachmentAsync удаляет из элемента вложение с указанным идентификатором. Идентификатор вложения рекомендуется использовать для удаления вложения, только если оно добавлено тем же почтовым приложением в ходе текущего сеанса. В Outlook в Интернете, на мобильных устройствах и в новом Outlook для Windows идентификатор вложения действителен только в рамках одного сеанса. Сеанс завершается, когда пользователь закрывает приложение или если пользователь начинает создавать встроенную форму, а затем открывает форму, чтобы продолжить в отдельном окне.

removeAttachmentAsync(attachmentId: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

attachmentId

string

Идентификатор удаляемого вложения. Максимальная длина строки attachmentId составляет 200 символов в Outlook в Интернете и Windows (новой и классической).

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult. Если удалить вложение не удается, свойство asyncResult.error содержит код ошибки с указанием ее причины.

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.1

Минимальный уровень разрешений: элемент для чтения и записи

Применимый режим Outlook: Compose сообщений

Важно! ЭтотremoveAttachmentAsync метод не удаляет встроенные вложения из элемента письма. Чтобы удалить встроенное вложение, сначала получите его основную часть, а затем удалите ссылки на вложение из его содержимого. С помощью интерфейсов API Office.Body можно получить и настроить текст элемента.

Ошибки:

  • InvalidAttachmentId : идентификатор вложения не существует.

removeHandlerAsync(eventType, options, callback)

Удаляет обработчиков для поддерживаемого типа события. События доступны только в надстройках области задач.

removeHandlerAsync(eventType: Office.EventType | string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

eventType

Office.EventType | string

Событие, которое должно отменить обработчик.

options
Office.AsyncContextOptions

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. Когда метод завершается, функция, переданная в параметре callback , вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult .

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.7

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно! Список событий, поддерживаемых для элемента почты, см. в статье Объектная модель элемента Outlook.

removeHandlerAsync(eventType, callback)

Удаляет обработчиков для поддерживаемого типа события. События доступны только в надстройках области задач.

removeHandlerAsync(eventType: Office.EventType | string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

eventType

Office.EventType | string

Событие, которое должно отменить обработчик.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. Когда метод завершается, функция, переданная в параметре callback , вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult .

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.7

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Compose сообщений

Важно! Список событий, поддерживаемых для элемента почты, см. в статье Объектная модель элемента Outlook.

Примеры

Office.context.mailbox.item.removeHandlerAsync(Office.EventType.ItemChanged, (asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
        console.error("Failed to remove event handler: " + asyncResult.error.message);
        return;
    }

    console.log("Event handler removed successfully.");
});

saveAsync(options, callback)

Асинхронно сохраняет текущее сообщение как черновик.

saveAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

options
Office.AsyncContextOptions

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<string>) => void

Когда метод завершается, функция, переданная в параметре callback , вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult . Идентификатор сообщения EWS возвращается в свойстве.asyncResult.value

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.3

Минимальный уровень разрешений: элемент для чтения и записи

Применимый режим Outlook: Compose сообщений

Важно!

  • В Outlook в Интернете, новом Outlook для Windows или классическом Outlook в Windows в сетевом режиме (без кэширования) элемент сохраняется на сервере. В Outlook в режиме кэширования этот элемент сохраняется в локальном кэше.

  • При работе с содержимым в формате HTML важно учитывать, что клиент Outlook может изменять содержимое. Это означает, что последующие вызовы таких методов, как Body.getAsync, Body.setAsync, и даже saveAsync могут не приводить к тому же содержимому.

  • Возвращаемый идентификатор совпадает с идентификатором элемента веб-служб Exchange (EWS). Возвращаемый идентификатор элемента не идентичен идентификатору записи Outlook или идентификатору, используемому REST API Outlook. Перед вызовами REST API с использованием этого значения его следует преобразовать с помощью Office.context.mailbox.convertToRestId.

  • Если ваша надстройка вызывает saveAsync получение кода элемента для использования с EWS или REST API, имейте в виду, что когда Outlook находится в режиме кэширования, может потребоваться некоторое время для фактической синхронизации элемента с сервером. Пока элемент не будет синхронизирован, использование кода элемента будет возвращать ошибку.

  • В Outlook в Интернете и новом Outlook для Windows учетная запись почтового ящика, в которую сохраняется черновик, зависит от saveAsync вызова в сообщении, отправляемом из общей учетной записи почтового ящика. Если отправитель создает новое сообщение из своего личного почтового ящика и выбирает учетную запись общего почтового ящика в поле "От ", saveAsync черновик сохраняется в папке "Черновики " личного почтового ящика пользователя. Если отправитель открывает учетную запись общего почтового ящика в отдельной вкладке браузера (например, с помощью параметра " Открыть другой почтовый ящик ") и создает там новое сообщение, saveAsync сохраняет черновик в папке "Черновики " общего почтового ящика.

Ошибки:

  • InvalidAttachmentId : идентификатор вложения не существует.

saveAsync(callback)

Асинхронно сохраняет текущее сообщение как черновик.

saveAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

callback

(asyncResult: Office.AsyncResult<string>) => void

Когда метод завершается, функция, переданная в параметре callback , вызывается с единственным параметром, asyncResultкоторый является объектом Office.AsyncResult . Идентификатор сообщения EWS возвращается в свойстве.asyncResult.value

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.3

Минимальный уровень разрешений: элемент для чтения и записи

Применимый режим Outlook: Compose сообщений

Важно!

  • В Outlook в Интернете, новом Outlook для Windows или классическом Outlook в Windows в сетевом режиме (без кэширования) элемент сохраняется на сервере. В Outlook в режиме кэширования этот элемент сохраняется в локальном кэше.

  • При работе с содержимым в формате HTML важно учитывать, что клиент Outlook может изменять содержимое. Это означает, что последующие вызовы таких методов, как Body.getAsync, Body.setAsync, и даже saveAsync могут не приводить к тому же содержимому.

  • Возвращаемый идентификатор совпадает с идентификатором элемента веб-служб Exchange (EWS). Возвращаемый идентификатор элемента не идентичен идентификатору записи Outlook или идентификатору, используемому REST API Outlook. Перед вызовами REST API с использованием этого значения его следует преобразовать с помощью Office.context.mailbox.convertToRestId.

  • Если ваша надстройка вызывает saveAsync получение кода элемента для использования с EWS или REST API, имейте в виду, что когда Outlook находится в режиме кэширования, может потребоваться некоторое время для фактической синхронизации элемента с сервером. Пока элемент не будет синхронизирован, использование кода элемента будет возвращать ошибку.

  • В Outlook в Интернете и новом Outlook для Windows учетная запись почтового ящика, в которую сохраняется черновик, зависит от saveAsync вызова в сообщении, отправляемом из общей учетной записи почтового ящика. Если отправитель создает новое сообщение из своего личного почтового ящика и выбирает учетную запись общего почтового ящика в поле "От ", saveAsync черновик сохраняется в папке "Черновики " личного почтового ящика пользователя. Если отправитель открывает учетную запись общего почтового ящика в отдельной вкладке браузера (например, с помощью параметра " Открыть другой почтовый ящик ") и создает там новое сообщение, saveAsync сохраняет черновик в папке "Черновики " общего почтового ящика.

Ошибки:

  • InvalidAttachmentId : идентификатор вложения не существует.

Примеры

Office.context.mailbox.item.saveAsync(
    function callback(result) {
        // Process the result.
    });

// The following is an example of the
// `result` parameter passed to the
// callback function. The `value`
// property contains the item ID of
// the item.
{
    "value": "AAMkADI5...AAA=",
    "status": "succeeded"
}

sendAsync(options, callback)

Отправляет создаваемое сообщение.

sendAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

options
Office.AsyncContextOptions

Объектный литерал, содержащий свойство asyncContext . Используйте это свойство asyncContext для указания любого объекта, к которому вы хотите получить доступ в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. Когда метод завершается, функция, переданная в параметре callback , вызывается с единственным параметром asyncResult. Параметр asyncResult является объектом Office.AsyncResult .

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.15

Минимальный уровень разрешений: почтовый ящик для чтения и записи

Применимый режим Outlook: Compose сообщений

Важно!

  • Этот sendAsync метод поддерживается только в реализациях области задач и команд функций. Она не поддерживается в обработчиках на основе событий или в сценариях множественного выбора элементов.

  • В реализации команды функции возвращаемое значение asyncResult.status может не отражать успешную отправку составляемой встречи. Это связано с тем, что метод sendAsync является асинхронным API, и события, находящиеся вне управления надстройки (например, события, обрабатываемые отдельно установленной надстройкой Smart Alerts), могут блокировать отправку элемента. Поскольку вы не можете полагаться на состояние, возвращенное в asyncResult.status выполнении определенных операций, вы должны вызывать только метод event.completed в функции обратного вызова. Этот event.completed вызов сигнализирует о том, что обработка надстройки завершена. Выполнение другого кода в функции обратного вызова, кроме этого вызова, не гарантируется. Перед вызовом sendAsyncрекомендуется обработать другие операции .

  • В реализации области задач любой код, включенный для выполнения asyncResult.statusOffice.AsyncResultStatus.Success , не гарантируется обработкой. Это связано с тем, что элемент мог быть уже отправлен и надстройка завершила обработку. Перед вызовом sendAsyncрекомендуется обработать другие операции .

  • Выполнение любого кода, включенного после вызова sendAsync , не гарантируется, поскольку обработка надстройки завершается после вызова sendAsync .

  • Этот sendAsync метод доступен для ознакомления в Outlook на Mac, начиная с версии 16.105 (сборка 25121117). Чтобы протестировать эту функцию, присоединитесь к программе предварительной оценки Microsoft 365 и выберите бета-канал для доступа к бета-версиям сборок Office.

sendAsync(callback)

Отправляет создаваемое сообщение.

sendAsync(callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. Когда метод завершается, функция, переданная в параметре callback , вызывается с единственным параметром asyncResult. Параметр asyncResult является объектом Office.AsyncResult .

Возвращаемое значение

void

Комментарии

Набор API: Почтовый ящик 1.15

Минимальный уровень разрешений: почтовый ящик для чтения и записи

Применимый режим Outlook: Compose сообщений

Важно!

  • Этот sendAsync метод поддерживается только в реализациях области задач и команд функций. Она не поддерживается в обработчиках на основе событий или в сценариях множественного выбора элементов.

  • В реализации команды функции возвращаемое значение asyncResult.status может не отражать успешную отправку составляемой встречи. Это связано с тем, что метод sendAsync является асинхронным API, и события, находящиеся вне управления надстройки (например, события, обрабатываемые отдельно установленной надстройкой Smart Alerts), могут блокировать отправку элемента. Поскольку вы не можете полагаться на состояние, возвращенное в asyncResult.status выполнении определенных операций, вы должны вызывать только метод event.completed в функции обратного вызова. Этот event.completed вызов сигнализирует о том, что обработка надстройки завершена. Выполнение другого кода в функции обратного вызова, кроме этого вызова, не гарантируется. Перед вызовом sendAsyncрекомендуется обработать другие операции .

  • В реализации области задач любой код, включенный для выполнения asyncResult.statusOffice.AsyncResultStatus.Success , не гарантируется обработкой. Это связано с тем, что элемент мог быть уже отправлен и надстройка завершила обработку. Перед вызовом sendAsyncрекомендуется обработать другие операции .

  • Выполнение любого кода, включенного после вызова sendAsync , не гарантируется, поскольку обработка надстройки завершается после вызова sendAsync .

  • Этот sendAsync метод доступен для ознакомления в Outlook на Mac, начиная с версии 16.105 (сборка 25121117). Чтобы протестировать эту функцию, присоединитесь к программе предварительной оценки Microsoft 365 и выберите бета-канал для доступа к бета-версиям сборок Office.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/send-async.yaml

// This snippet sends the current message or appointment being composed.
Office.context.mailbox.item.sendAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log("Action failed with error: " + asyncResult.error.message);
    return;
  }
});

setSelectedDataAsync(data, options, callback)

Асинхронно вставляет данные в текст или тему сообщения.

Метод setSelectedDataAsync вставляет указанную строку в расположение курсора в теме или теле элемента или, если текст выделен в редакторе, он заменяет выделенный текст. Если курсор находится за пределами поля текста или темы, возвращается ошибка. После вставки курсор помещается в конец вставляемого содержимого.

setSelectedDataAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

data

string

Вставляемые данные. Объем данных не должен превышать 1 000 000 символов. Если передано больше 1 000 000 символов, возвращается исключение ArgumentOutOfRange.

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

Объектный литерал, содержащий одно или несколько из следующих свойств:- asyncContext: Разработчики могут предоставить любой объект, к которому они хотят получить доступ, в функции обратного вызова. coercionType . Если текст, текущий стиль применяется в Outlook в Интернете, в Windows (новой и классической) и на компьютере Mac. Если поле представляет собой редактор HTML, вставляются только текстовые данные, даже если они имеют формат HTML. Если данные представлены в формате HTML, а поле поддерживает HTML (тема не поддерживает), текущий стиль применяется в Outlook в Интернете и в новом Outlook для Windows. Стиль по умолчанию применяется в Outlook для Windows (классическая версия) и Mac. Если поле является текстовым, возвращается ошибка InvalidDataFormat. Если свойство coercionType не задано, результат зависит от поля: если поле имеет формат HTML, используется текст в формате HTML, а если поле текстовое, применяется обычный текст.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult.

Возвращаемое значение

void

Комментарии

Набор API: почтовый ящик 1.2

Минимальный уровень разрешений: элемент для чтения и записи

Применимый режим Outlook: Compose сообщений

Ошибки:

  • InvalidAttachmentId : идентификатор вложения не существует.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/set-selected-data.yaml

Office.context.mailbox.item.setSelectedDataAsync("Replaced", function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Selected text has been updated successfully.");
  } else {
    console.error(asyncResult.error);
  }
});

setSelectedDataAsync(data, callback)

Асинхронно вставляет данные в текст или тему сообщения.

Метод setSelectedDataAsync вставляет указанную строку в расположение курсора в теме или теле элемента или, если текст выделен в редакторе, он заменяет выделенный текст. Если курсор находится за пределами поля текста или темы, возвращается ошибка. После вставки курсор помещается в конец вставляемого содержимого.

setSelectedDataAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

data

string

Вставляемые данные. Объем данных не должен превышать 1 000 000 символов. Если передано больше 1 000 000 символов, возвращается исключение ArgumentOutOfRange.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательный параметр. После завершения метода вызывается функция, переданная в параметре callback , с одним параметром типа Office.AsyncResult.

Возвращаемое значение

void

Комментарии

Набор API: почтовый ящик 1.2

Минимальный уровень разрешений: элемент для чтения и записи

Применимый режим Outlook: Compose сообщений

Ошибки:

  • InvalidAttachmentId : идентификатор вложения не существует.