Отправка интерактивного сообщения по электронной почте в Office 365

Поддерживаемые сценарии

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

  • Получателем должен быть отдельный пользователь, а не группа.
  • Получатель должен отображаться в сообщении. Не помещайте получателя в поле "СК".
  • У получателя должен быть почтовый ящик на Outlook.com или Exchange Online в Office 365.

Создание карточки интерактивного сообщения

Для начала создадим карточку интерактивного сообщения. Начнем с простой карточки, содержащей действия Action.Http и Action.OpenUrl. Мы будем использовать Designer actionable Message для разработки карта.

Важно!

В примере кода для карточки, приведенном в этой статье, не указывается свойство originator. Это возможно в сценарии тестирования, когда получатель и отправитель — одно лицо. Если сообщения с действиями отправляются еще кому-то, свойству originator нужно задать допустимый идентификатор поставщика, созданный на информационной панели Actionable Email Developer Dashboard. Если оставить это свойство пустым при отправке другим пользователям, карточка будет удалена.

Перейдите в Designer actionable Message (Сообщение с действиями) и вставьте следующий код JSON:

{
  "type": "AdaptiveCard",
  "version": "1.0",
  "body": [
    {
      "type": "TextBlock",
      "text": "Visit the Outlook Dev Portal",
      "size": "large"
    },
    {
        "type": "TextBlock",
        "text": "Click **Learn More** to learn more about Actionable Messages!"
    },
    {
      "type": "Input.Text",
      "id": "feedbackText",
      "placeholder": "Let us know what you think about Actionable Messages"
    }
  ],
  "actions": [
    {
      "type": "Action.Http",
      "title": "Send Feedback",
      "method": "POST",
      "url": "https://...",
      "body": "{{feedbackText.value}}"
    },
    {
      "type": "Action.OpenUrl",
      "title": "Learn More",
      "url": "https://learn.microsoft.com/outlook/actionable-messages"
    }
  ]
}

Вы можете поэкспериментировать с этим простым примером в Designer. Дополнительные сведения о доступных полях см. в справочнике по адаптивной карта. Завершив создание карточки, вы можете отправлять ее.

Отправка интерактивных сообщений по электронной почте

Важно!

Вы можете создавать и тестировать сообщения с действиями с помощью Designer actionable Message, который позволяет отправлять вам сообщения с действиями. Вы также можете отправлять интерактивные сообщения самому себе, используя SMTP-сервер Office 365. Отправлять интерактивные сообщения другим пользователям будет невозможно, пока вы не зарегистрируетесь с помощью панели разработчика интерактивных сообщений.

Чтобы внедрить карточку интерактивного сообщения в электронное сообщение, необходимо заключить ее в теги <script>. После этого тег <script> вставляется в заголовок <head> HTML-текста сообщения.

Примечание.

Так как объект JSON карточки должен быть заключен в тег <script>, текст интерактивного сообщения ДОЛЖЕН быть в формате HTML. Текстовые сообщения не поддерживаются.

  1. Добавьте атрибут hideOriginalBody, чтобы управлять изменениями текста сообщения. В данном случае мы зададим для этого атрибута значение true, чтобы текст не отображался.

    {
      "type": "AdaptiveCard",
      "version": "1.0",
      "hideOriginalBody": true,
      "body": [
        {
          "type": "TextBlock",
          "text": "Visit the Outlook Dev Portal",
          "size": "large"
        },
        {
            "type": "TextBlock",
            "text": "Click **Learn More** to learn more about Actionable Messages!"
        },
        {
          "type": "Input.Text",
          "id": "feedbackText",
          "placeholder": "Let us know what you think about Actionable Messages"
        }
      ],
      "actions": [
        {
          "type": "Action.Http",
          "title": "Send Feedback",
          "method": "POST",
          "url": "https://...",
          "body": "{{feedbackText.value}}"
        },
        {
          "type": "Action.OpenUrl",
          "title": "Learn More",
          "url": "https://learn.microsoft.com/outlook/actionable-messages"
        }
      ]
    }
    
  2. Заключите полученный код JSON в тег <script> типа application/adaptivecard+json.

    Примечание.

    Если вы используете устаревший формат карточки сообщения вместо адаптивного формата карточки, то для тега <script> ДОЛЖЕН использоваться тип application/ld+json.

    <script type="application/adaptivecard+json">{
      "type": "AdaptiveCard",
      "version": "1.0",
      "hideOriginalBody": true,
      "body": [
        {
          "type": "TextBlock",
          "text": "Visit the Outlook Dev Portal",
          "size": "large"
        },
        {
            "type": "TextBlock",
            "text": "Click **Learn More** to learn more about Actionable Messages!"
        },
        {
          "type": "Input.Text",
          "id": "feedbackText",
          "placeholder": "Let us know what you think about Actionable Messages"
        }
      ],
      "actions": [
        {
          "type": "Action.Http",
          "title": "Send Feedback",
          "method": "POST",
          "url": "https://...",
          "body": "{{feedbackText.value}}"
        },
        {
          "type": "Action.OpenUrl",
          "title": "Learn More",
          "url": "https://learn.microsoft.com/outlook/actionable-messages"
        }
      ]
    }
    </script>
    
  3. Создайте HTML-документ, который будет представлять текст сообщения, и включите тег <script> в заголовок <head>.

    <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <script type="application/adaptivecard+json">{
        "type": "AdaptiveCard",
        "version": "1.0",
        "hideOriginalBody": true,
        "body": [
          {
            "type": "TextBlock",
            "text": "Visit the Outlook Dev Portal",
            "size": "large"
          },
          {
            "type": "TextBlock",
            "text": "Click **Learn More** to learn more about Actionable Messages!"
          },
          {
            "type": "Input.Text",
            "id": "feedbackText",
            "placeholder": "Let us know what you think about Actionable Messages"
          }
        ],
        "actions": [
          {
            "type": "Action.Http",
            "title": "Send Feedback",
            "method": "POST",
            "url": "https://...",
            "body": "{{feedbackText.value}}"
          },
          {
            "type": "Action.OpenUrl",
            "title": "Learn More",
            "url": "https://learn.microsoft.com/outlook/actionable-messages"
          }
        ]
      }
      </script>
    </head>
    <body>
    Visit the <a href="https://learn.microsoft.com/outlook/actionable-messages">Outlook Dev Portal</a> to learn more about Actionable Messages.
    </body>
    </html>
    
  4. Отправьте сообщение по протоколу SMTP с HTML-кодом в тексте.

Отправка сообщения

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

Выполнение действий

Ниже представлены примеры выполнения действий.

  • Интерактивные сообщения Hello: пример проекта с развертыванием Azure нажатием одной кнопки. Этот пример является простым сквозным решением интерактивного сообщения, которое можно реализовать в течение 10 минут, и представляет собой образец создания конечной точки действия в рабочей среде.

Инструменты устранения неполадок

  • Отладчик интерактивных сообщений — надстройка Outlook, которая позволяет разработчикам проверять полезные данные карт в интерактивных сообщениях и определять причину отсутствия отображения карты.