Outlook меняет HTML на офисную надстройку - PullRequest
0 голосов
/ 13 февраля 2019

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

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

Я вставляю HTML, как показано ниже:

var tablePref = '<table align="left" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0;"><tr><td border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0;padding: 10px 18px;background:\'';

var backgroundColor = 'green'; //The color is user-given, I put green as an example

var tableSuf = '\'"><a href="https://somelink.com" style="text-decoration:none">Some text</a></td></tr></table>'


var item = Office.context.mailbox.item;

item.body.setAsync(tablePref+backgroundColor+tableSuf,
  { 
    coercionType: Office.CoercionType.Html, 
    asyncContext: {} 
  },
  function (asyncResult) {
    if (asyncResult.status ==   Office.AsyncResultStatus.Failed)
    {
      //Show error dialog
    }
    else 
    {
      //Successfully set data in item body.
    }
  });

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

<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" align="left" style="border-collapse: collapse">
  <tbody>
    <tr>
      <td style="background: 'green';">
        <p class="MsoNormal" style="mso-element: frame; mso-element-frame-hspace: 2.25pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: column; mso-height-rule: exactly">
          <a href="https://somelink.com" target="_blank" rel="noreferrer">
          <span style="text-decoration: none">Some Text</span>
          </a>
          <!-- o ignored -->
        </p>
      </td>
    </tr>
  </tbody>
</table>

Outlook меняет мои элементы a, и это приводит к тому, что почтовые клиенты отрисовывают элемент со строкой ниже, потому что стиль был переопределен.Есть ли способ избежать Outlook изменить мой HTML или это известная ошибка?Это происходит на всех платформах (OWA, Outlook для Mac 16.21 и Outlook для Windows)

Спасибо за любую помощь

...