Обработка событий OnMessageSend и OnAppointmentSend в надстройке Outlook с помощью смарт-оповещений

События OnMessageSend и OnAppointmentSend пользуются преимуществами смарт-оповещений, которые позволяют выполнять логику после того, как пользователь выберет Отправить в своем сообщении Outlook или встрече. С помощью смарт-оповещений пользователи надстройки могут воспользоваться возможностью улучшить содержимое своей электронной почты, добавить недостающую метку конфиденциальности или включить важного получателя в приглашение на собрание.

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

Примечание.

События OnMessageSend и OnAppointmentSend были введены в наборе требований 1.12. Дополнительные функциональные возможности и параметры настройки также были добавлены в последующие наборы требований. Чтобы убедиться, что клиент Outlook поддерживает эти события и функции, см. статью Поддерживаемые клиенты и платформы и конкретные разделы пошагового руководства , в котором описаны функции, которые необходимо реализовать.

Поддерживаемые клиенты и платформы

В следующей таблице перечислены поддерживаемые сочетания клиента и сервера для функции смарт-оповещений, включая минимальное требуемое накопительное обновление Exchange Server, если применимо. Исключенные сочетания не поддерживаются.

Клиент Exchange Online. Локальная версия Exchange 2019 (накопительное обновление 12 или более поздняя версия) Локальная среда Exchange 2016 (накопительное обновление 22 или более поздняя версия)
Веб-браузер (современный пользовательский интерфейс) Да Неприменимо Неприменимо
новый Outlook в Windows Да Неприменимо Неприменимо
Windows (классическая версия)
Версия 2206 (сборка 15330.20196) или более поздняя
Да Да Да
Mac
Версия 16.65.827.0 или более поздняя
Да Неприменимо Неприменимо
Android Неприменимо Неприменимо Неприменимо
iOS Неприменимо Неприменимо Неприменимо

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

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

Поведение и сценарии функций интеллектуальных оповещений

В следующих разделах содержатся рекомендации по параметрам режима отправки и поведению функции в определенных сценариях.

Доступные параметры режима отправки

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

  • Только манифест надстройки. Задайте свойство SendMode элемента LaunchEvent .
  • Унифицированный манифест для Microsoft 365: задайте параметр sendMode объекта события в массиве autoRunEvents.

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

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

Каноническое имя параметра режима отправки Только имя манифеста надстройки Унифицированный манифест для имени Microsoft 365
запрос пользователя PromptUser promptUser
мягкий блок SoftBlock softBlock
блок Block блок

Совет

Начиная с набора обязательных для почтового ящика 1.14, надстройка теперь может переопределить параметр режима отправки во время выполнения. Дополнительные сведения см. в статье Переопределение параметра режима отправки во время выполнения (необязательно).

запрос пользователя

Если элемент не соответствует условиям надстройки, пользователь может выбрать Отправить в любом случае в оповещении или устранить проблему, а затем попытаться отправить элемент еще раз. Если надстройке требуется много времени для обработки элемента, пользователю будет предложено остановить запуск надстройки и выбрать Отправить в любом случае. Если надстройка недоступна (например, ошибка при загрузке надстройки), элемент будет отправлен.

Диалоговое окно запроса пользователя с параметрами Отправить в любом случае и Не отправлять.

Если применяется одно из указанных ниже действий, воспользуйтесь параметром "Запрашивать пользователя " в надстройке.

  • Условие, проверенное надстройкой, не является обязательным, но приятно иметь в сообщении или встрече, которые отправляются.
  • Вы хотите порекомендовать действие и разрешить пользователю решить, следует ли применять его к отправляемым сообщениям или встречам.

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

мягкий блок

Параметр по умолчанию, если свойство режима отправки манифеста не настроено. Пользователь получает предупреждение о том, что элемент, который он отправляет, не соответствует условиям надстройки, и он должен устранить проблему, прежде чем пытаться отправить элемент еще раз. Однако если надстройка недоступна (например, ошибка при загрузке надстройки), элемент будет отправлен.

Диалоговое окно обратимого блока с параметром Не отправлять.

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

блок

Элемент не отправляется, если возникает какая-либо из следующих ситуаций.

  • Элемент не соответствует условиям надстройки.
  • Надстройке не удается подключиться к серверу.
  • Ошибка при загрузке надстройки.

Диалоговое окно блока с параметром Не отправлять.

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

Надстройка недоступна

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

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

Диалоговое окно, уведомляющее пользователя о недоступности надстройки и предоставляющее пользователю возможность отправить элемент сейчас или позже.

Если используется параметр блокировать , пользователь не сможет отправить элемент, пока надстройка не станет доступной.

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

Важно!

Если надстройка Smart Alerts, реализующая функцию переопределения режима отправки , не может завершить обработку события из-за ошибки или недоступна при возникновении события, она использует параметр режима отправки, указанный в манифесте.

Длительные операции надстроек

Если надстройка выполняется более пяти секунд, но менее пяти минут, пользователь получает предупреждение о том, что надстройка обрабатывает сообщение или встречу дольше, чем ожидалось.

Если используется параметр пользователя с запросом , пользователь может выбрать Отправить в любом случае , чтобы отправить элемент без завершения проверки надстройкой. Кроме того, пользователь может выбрать Не отправлять , чтобы остановить обработку надстройки.

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

Однако если используется параметр обратимого блока или блока , пользователь не сможет отправить элемент, пока надстройка не завершит его обработку.

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

OnMessageSend и OnAppointmentSend надстройки должны быть короткими и упрощенными. Чтобы избежать длительных операций, используйте другие события для обработки условных проверок перед активацией OnMessageSend события или OnAppointmentSend . Например, если пользователю требуется шифровать вложения для каждого сообщения или встречи, рассмотрите OnMessageAttachmentsChanged возможность использования события или OnAppointmentAttachmentsChanged для выполнения проверки.

Истекло время ожидания надстройки

Если надстройка выполняется в течение пяти минут или более, время ожидания истекает. Если используется параметр пользователя с запросом , пользователь может выбрать Отправить в любом случае , чтобы отправить элемент без завершения проверки надстройкой. Кроме того, пользователь может выбрать Не отправлять.

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

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

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

Клиент Outlook в автономном режиме

В Outlook для Windows (классическом клиенте, начиная с версии 2310 (сборка 16913.10000)) и в Mac (начиная с версии 16.80 (23121017)) надстройка Smart Alerts, реализующая параметр обратимого блока или блока , может обрабатывать почтовый элемент только во время подключения клиента Outlook. Если режим "Работать в автономном режиме" включен в клиенте Outlook при отправке почтового элемента, элемент не сохраняется в папке "Исходящие" и пользователь получает предупреждение о том, что он должен отключить режим "Работа в автономном режиме", прежде чем он сможет отправить свой элемент.

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

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

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

Когда пользователь уходит от отправляемого сообщения (например, для чтения сообщения в папке "Входящие"), поведение надстройки Smart Alerts в разных клиентах Outlook отличается. Выберите вкладку для клиента Outlook, на котором выполняется надстройка.

В Outlook в Интернете или в новом Outlook для Windows пользователь должен оставаться в сообщении, отправляемом до тех пор, пока надстройка Smart Alerts не завершит его обработку. В противном случае, когда пользователь уйдет от элемента, надстройка завершает операцию смарт-оповещений и сохраняет черновик в папке Черновики почтового ящика. Затем пользователь получает предупреждение о том, что он должен повторно отправить сообщение из папки Черновики и оставаться в сообщении до тех пор, пока надстройка не завершит его обработку.

Диалоговое окно, отображаемое пользователю в Outlook в Интернете или новом Outlook в Windows при переходе от сообщения после нажатия кнопки Отправить.

Активация смарт-оповещений в приложениях, использующих Simple MAPI

Примечание.

В настоящее время эта функция поддерживается только в классической версии Outlook для Windows, начиная с версии 2301 (сборка 17126.20004).

Пользователи могут отправлять почтовые элементы через определенные приложения, использующие Simple MAPI, даже если клиент Outlook не запущен во время отправки элемента. В этом случае все установленные надстройки Smart Alerts не активируются для проверки почтового элемента на соответствие.

Чтобы убедиться, что исходящие элементы соответствуют условиям надстройки Smart Alerts перед отправкой, необходимо включить параметр групповой политики Запуск Outlook для простой отправки почты MAPI на каждом компьютере в организации.

Поведение при включенном параметре

Если для параметра Запуск Outlook для простой отправки почты MAPIзадано значение Включено, пользователи должны запустить клиент Outlook во время отправки почтового элемента в следующих сценариях.

  • Файл отправляется в виде вложения с помощью параметра Поделиться>присоединить копию в Excel, Word или PowerPoint.

    Параметр

  • Файл отправляется в виде вложения с помощью параметра Отправить получателю>почты в проводнике.

    Параметр

  • Файл отправляется через приложение, использующее Simple MAPI, которое открывает новое окно Outlook.

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

Диалоговое окно, предупреждающее пользователя об открытии клиента Outlook при отправке почтового элемента.

Поведение, когда параметр отключен или не настроен

Если для параметра Запуск Outlook для простой отправки почты MAPIзадано значение Отключено или Не настроено в вашей организации, любой пользователь, использующий приложения, реализующие Simple MAPI для отправки почтовых элементов, сможет сделать это без активации надстройки Smart Alerts для проверки соответствия требованиям.

Настройка параметра групповой политики

По умолчанию для параметра Запуск Outlook для простой отправки почты MAPI задано значение Не настроено. Чтобы включить этот параметр, выполните следующие действия.

  1. Скачайте последнее средство административных шаблонов.
  2. Откройте редактор локальных групповых политик (gpedit.msc).
  3. Перейдите в раздел Конфигурация пользователя\Административные шаблоны\Microsoft Outlook 2016\Прочее.
  4. Откройте параметр Запуск Outlook для простой отправки почты MAPI .
  5. В появившемся диалоговом окне выберите Включено.
  6. Нажмите кнопку ОК или Применить , чтобы сохранить изменения.

Ограничения

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

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

Хотя вы можете изменить диалоговое сообщение Smart Alerts и кнопку Не отправлять в соответствии со сценарием надстройки, следующие параметры нельзя настроить.

  • Строка заголовка диалогового окна. Имя вашей надстройки всегда отображается там.
  • Шрифт или цвет диалогового сообщения. Однако вы можете использовать Markdown для форматирования определенных элементов сообщения. Список поддерживаемых элементов см. в разделе Ограничения форматирования диалогового сообщения с помощью Markdown.
  • Значок рядом с диалоговым сообщением.
  • Диалоговые окна, предоставляющие сведения об обработке событий и ходе выполнения. Например, текст и параметры, отображаемые в диалоговых окнах времени ожидания и длительных операций, нельзя изменить.

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

Примечание.

Поддержка настройки кнопки "Не отправлять" появилась в наборе обязательных для почтового ящика 1.14.

В Outlook в Интернете и в новом Outlook в Windows:

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

Ограничения форматирования диалогового сообщения с помощью Markdown

Примечание.

Поддержка Markdown в диалоговом окне смарт-оповещений в настоящее время доступна только в классической версии Outlook для Windows. Функции предварительной версии не следует использовать в рабочих надстройках. Мы приглашаем вас опробовать эту функцию в средах тестирования или разработки и приветствовать отзывы о вашем опыте через GitHub (см. раздел Отзывы в конце этой страницы).

Чтобы протестировать эту функцию в классической версии Outlook для Windows, необходимо установить версию 2403 (сборка 17330.10000) или более позднюю. Затем присоединитесь к программе предварительной оценки Microsoft 365 и выберите параметр Бета-канал в клиенте Outlook, чтобы получить доступ к бета-сборкам Office.

Вы можете использовать Markdown для форматирования сообщения диалогового окна смарт-оповещений. Однако поддерживаются только следующие элементы.

  • Полужирный, курсивный или полужирный и курсивный текст. Поддерживаются форматы звездочки (*) и символа подчеркивания (_ ).

    event.completed({
      allowEvent: false,
      ...
      errorMessageMarkdown: "**Important**: Apply the appropriate sensitivity label to your message before sending."
    });
    

    Пример диалогового окна смарт-оповещений с полужирным шрифтом.

  • Маркированные или неупорядоченные списки. Чтобы создать элемент в списке, начните с дефиса (-) или звездочки (*), добавьте содержимое, а затем добавьте \r , чтобы обозначить завершение элемента.

    event.completed({
      allowEvent: false,
      ...
      errorMessageMarkdown: "Your email doesn't meet company guidelines.\n\nFor additional assistance, contact the IT Service Desk:\n\n- Phone number: 425-555-0102\r- Email: it@contoso.com\r- Website: [Contoso IT Service Desk](https://www.contoso.com/it-service-desk)\r"
    });
    

    Пример диалогового окна смарт-оповещений, содержащий маркированный список.

  • Нумерованные или упорядоченные списки. Чтобы создать элемент в списке, начните с числа, за которым следует точка, добавьте содержимое, а затем добавьте \r , чтобы обозначить завершение элемента. Первый элемент списка должен начинаться с номера один (1.), а последующие числа должны быть в числовом порядке.

    event.completed({
      allowEvent: false,
      ...
      errorMessageMarkdown: "Help your recipients know your intentions when you send a mail item. To set the sensitivity level of an item:\n\n1. Select **File** > **Properties**.\r2. From the **Sensitivity** dropdown, select **Normal**, **Personal**, **Private**, or **Confidential**.\r3. Select **Close**.\r"
    });
    

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

  • Дюны. Чтобы создать ссылку, заключите текст ссылки в квадратные скобки ([]), а затем заключите URL-адрес HTTPS в круглые скобки (()). Необходимо указать URL-адрес HTTPS, в противном случае он не будет отображаться в виде ссылки, которую пользователь может выбрать в диалоговом окне. Формат угловых скобок (<>) не поддерживается.

    event.completed({
      allowEvent: false,
      ...
      errorMessageMarkdown: "Need onsite assistance on the day of your meeting? Visit the [Contoso Facilities](https://www.contoso.com/facilities/meetings) page to learn more."
    });
    

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

  • Новые строки. Используйте \n\n для создания новой строки.

    event.completed({
      allowEvent: false,
      ...
      errorMessageMarkdown: "Add a personalized user avatar to your signature today!\n\nTo customize your signature, visit [Customize my email signature](https://www.fabrikam.com/marketing/customize-email-signature)."
    });
    

    Пример диалогового окна смарт-оповещений, содержащего новую строку в сообщении.

Совет

Чтобы экранировать символы в сообщении, например звездочку, добавьте перед символом обратную косую черту (\).

Лучшие методики

Функция смарт-оповещений гарантирует, что все исходящие почтовые элементы соответствуют политикам защиты информации организации, и помогает пользователям улучшать свои сообщения с помощью рекомендаций. Чтобы ваша надстройка всегда предоставляла пользователям беспроблемную и эффективную отправку, соблюдайте следующие рекомендации.

  • Не позволяйте надстройке откладывать операцию отправки. Надстройки смарт-оповещений должны быть короткими и упрощенными. Избегайте перегрузки OnMessageSend обработчиков событий и OnAppointmentSend интенсивной проверкой. Чтобы избежать этого, предварительно обработайте сведения при возникновении других событий, таких как OnMessageRecipientsChanged событие или OnMessageAttachmentsChanged . Чтобы определить, на какие события может реагировать ваша надстройка, см. раздел "Поддерживаемые события" статьи Настройка надстройки Outlook для активации на основе событий.
  • Не реализуйте дополнительные диалоги. Предотвращение перегрузки пользователей слишком большим количеством диалогов. Вместо этого настройте текст в диалоговом окне Смарт-оповещения для передачи информации. При необходимости можно также настроить кнопку "Не отправлять", чтобы предоставить пользователям дополнительные сведения и функции в области задач.
  • Включите соответствующие параметры групповой политики в организации. Чтобы убедиться, что надстройка Smart Alerts активируется для каждого почтового элемента, включая отправленные с помощью приложений, реализующих Simple MAPI, настройте параметр Запуск Outlook для простой отправки MAPI . Дополнительные сведения об этом параметре см. в статье Активация интеллектуальных оповещений в приложениях, использующих Simple MAPI.

Отладка надстройки

Инструкции по устранению неполадок надстройки Smart Alerts см. в статье Устранение неполадок надстроек на основе событий и отчетов о спаме.

Развертывание для пользователей

Как и другие надстройки на основе событий, надстройки, использующие функцию смарт-оповещений, должны развертываться администратором организации. Инструкции по развертыванию надстройки через Центр администрирования Microsoft 365 см. в разделе "Развертывание для пользователей" статьи Настройка надстройки Outlook для активации на основе событий.

Важно!

Надстройки, использующие функцию смарт-оповещений, могут публиковаться в AppSource только в том случае, если свойству режима отправки манифеста задан параметр пользователя с обратимым блоком или запросом . Если свойство режима отправки надстройки имеет значение блокировать, оно может быть развернуто только администратором организации, так как оно не пройдет проверку AppSource. Дополнительные сведения о публикации надстройки на основе событий в AppSource см. в статье Параметры описания AppSource для надстройки Outlook на основе событий.

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

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

Атрибут Интеллектуальные оповещения При отправке
Минимальный поддерживаемый набор требований Почтовый ящик 1.12 Mailbox 1.8
Поддерживаемые клиенты Outlook
  • Windows (новая и классическая версия)
  • Веб-браузер (современный пользовательский интерфейс)
  • Mac (новый пользовательский интерфейс)
  • Windows (классическая версия)
  • Веб-браузер (современный и классический пользовательский интерфейс)
  • Mac (новый и классический пользовательский интерфейс)
Поддерживаемые события Манифест только надстройки
  • OnMessageSend
  • OnAppointmentSend

Унифицированный манифест для Microsoft 365
  • messageSending
  • "appointmentSending"
XML-манифест
  • ItemSend

Унифицированный манифест для Microsoft 365
  • Не поддерживается
Свойство расширения манифеста Манифест только надстройки
  • LaunchEvent

Унифицированный манифест для Microsoft 365
  • "autoRunEvents"
XML-манифест
  • Events

Унифицированный манифест для Microsoft 365
  • Не поддерживается
Поддерживаемые параметры режима отправки
  • запрос пользователя
  • мягкий блок
  • блок

Дополнительные сведения о каждом параметре см. в статье Доступные параметры режима отправки.
Блокировка
Максимальное количество поддерживаемых событий в надстройке Одно OnMessageSend и одно OnAppointmentSend событие. Одно ItemSend событие.
Развертывание надстройки Надстройка может быть опубликована в AppSource, если для ее свойства режима отправки задан параметр пользователя обратимого блока или запроса . В противном случае надстройка должна быть развернута администратором организации. Надстройка не может быть опубликована в AppSource. Он должен быть развернут администратором организации.
Дополнительная конфигурация для установки надстройки После отправки манифеста в Центр администрирования Microsoft 365 дополнительная настройка не требуется. В зависимости от стандартов соответствия требованиям организации и используемого клиента Outlook для установки надстройки необходимо настроить определенные политики почтовых ящиков.

См. также