Фоновое изображение/градиент электронной почты Office 365 или плитка/градиент VML

Анализ кода EmailOnAcid для Office 365 показывает, что фоновые изображения не поддерживаются ни в сокращенном (background: url("foo.png");), ни в явном (background-image: url("foo.png");) формате, а также не поддерживаются атрибут фона для TD элементов. В дополнение к этим стилям у меня есть код VML, ориентированный на [if gte mso 9].

В некоторых из моих тестов я вижу свое фоновое изображение, но не при переключении с плитки изображения/VML на линейный градиент/градиент VML. Это связано с тем, что в Office 365 недавно была добавлена ​​какая-то поддержка изображений, или градиенты VML не поддерживаются в Office 365?

Код электронной почты с изображением: (примечание: показано здесь с cid ссылками на прикрепленное изображение; в результатах тестирования в основном использовалось изображение, размещенное на imgr.com)

<head>
  <style>
    table.with-bg {
      width: 570px;
      min-height: 717px;
    }

    table.with-bg td.image-container {
      padding: 10px;
      background: url("cid:mailing_footer") repeat-x;
    }
  </style>
</head>

<body link="#497cbe" vlink="#497cbe" alink="#497cbe">
  <table class="with-bg" cellpadding="10" cellspacing="0" border="0" width="570" height="717">
    <tbody>
      <tr>
        <td class="image-container" background="cid:mailing_footer" bgcolor="transparent" valign="top" width="570" height="717">
          <!--[if gte mso 9]>
          <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:570px;height:717px;">
            <v:fill type="tile" src="cid:mailing_footer" color="#ffffff" />
            <v:textbox inset="0,0,0,0">
          <![endif]-->
          <div>
            <table cellpadding="0" cellspacing="0" border="0" width="570" style="border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;">
              <tbody>
                <tr>
                  <td width="10">&nbsp;</td>
                  <td>
                    <table cellpadding="0" cellspacing="0" border="0" width="550">
                      <tbody>
                        <tr>
                          <td colspan="2" align="left" bgcolor="transparent">
                            &nbsp; 
                          </td>
                        </tr>
                        <tr>
                        <td colspan="2" align="center" bgcolor="transparent"><img id="headerpic" src="cid:mailing_header" width="468" height="71" alt=" " title=" " style="width:468px; height: 71px;"></td>
                        </tr>
                        <tr> 
                          <td colspan="2" class="body" style="min-height:200px;">
                            CONTENT GOES HERE
                          </td>
                        </tr>
                      </tbody>
                    </table>
                  </td>
                  <td width="10">&nbsp;</td>
                </tr>
              </tbody>
            </table>
          </div>
          <!--[if gte mso 9]>
            </v:textbox>
          </v:rect>
          <![endif]-->
        </td>
      </tr>
    </tbody>
  </table>
</body>

Изменено для градиента:

<head>
  <style>
    ...

    table.with-bg td.image-container {
      padding: 10px;
      background-color: white;
      background-image: -webkit-linear-gradient(left, #b6cae8, #ffffff);
      background-image: -moz-linear-gradient(left, #b6cae8, #ffffff);
      background-image: -o-linear-gradient(left, #b6cae8, #ffffff);  
      background-image: linear-gradient(#b6cae8, white);
      background: linear-gradient(#b6cae8, white);
    }
  </style>
</head>
<body link="#497cbe" vlink="#497cbe" alink="#497cbe">
    ...
        <td class="image-container" background="linear-gradient(#b6cae8, white);" bgcolor="transparent" valign="top" width="570" style="background-color: white; background-image: -webkit-linear-gradient(left, #b6cae8, #ffffff); background-image: -moz-linear-gradient(left, #b6cae8, #ffffff); background-image: -o-linear-gradient(left, #b6cae8, #ffffff);  background-image: linear-gradient(#b6cae8, white); background: linear-gradient(#b6cae8, white);">
          <!--[if gte mso 9]>
          <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:570px;">
            <v:fill type="gradient" color="#ffffff" color2="#b6cae8" />
            <v:textbox style="mso-fit-shape-to-text:true" inset="0,0,0,0">
          <![endif]-->
    ...
</body>

person joanwolk    schedule 27.11.2015    source источник


Ответы (1)


Подняв этот вопрос непосредственно с помощью Email On Acid, они ответили, что в Office 365, похоже, добавлена ​​поддержка фонового атрибута TD, и они обновили анализ кода, чтобы отразить это.

В настоящее время градиенты не поддерживаются, равно как и пути к изображениям CID. Абсолютные URL-адреса для изображений работают, например, <td background="http://foo.com/bar.jpg">. При запуске ручного теста EOA через загрузку ZIP-файла относительные пути также работали (<td background="bar.jpg">), хотя мне не ясно, будет ли это работать в обычном электронном письме.

ПРИМЕЧАНИЕ. Office 365 и OWA не используют VML и, что более важно, не соответствуют mso условным комментариям!

person joanwolk    schedule 01.12.2015