Электронная почта в формате HTML неправильно отображается в Outlook 2007

Спустя много времени я потратил на исследования. Я до сих пор не могу найти ответ.

У меня есть HTML, который показывает неправильную ширину в моих таблицах. Вот ссылка на электронное письмо в формате html: https://tagwebstore.com/email/tag-email-10percentmore.html и вот скриншот того, как это выглядит в Outlook 2007:

введите здесь описание изображения

Основная проблема — нижняя часть. Ссылка электронной почты в формате html отображает ее правильно. Я понятия не имею, что еще делать отсюда. Вот мой код для нижней части, с которой у меня проблемы:

<table cellpadding="0" cellspacing="0" border="0" width="625" align="center" bgcolor="#FFFFFF">
    <tr>
      <td height="23" colspan="3" bgcolor="#FFFFFF">&nbsp;</td>
    </tr>
    <tr>
      <td width="25">&nbsp;</td>
      <td><table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td><img src="https://www.tagwebstore.com/email/testimonial-top.png" width="573" height="36" style="display:block;" /></td>
          </tr>
          <tr>
            <td bgcolor="#f0d7c1" width="573"><table cellpadding="0" cellspacing="0" border="0" width="573">
                <tr>
                  <td width="28"></td>
                  <td style="font-size:11px; line-height:18px; color:#000000; font-style:italic; font-family:Helvetica, Arial, sans-serif;" width="517"><table cellpadding="0" cellspacing="0" border="0">
                      <tr>
                        <td style="font-size:11px; line-height:18px; color:#000000; font-style:italic; font-family:Helvetica, Arial, sans-serif;">We’ve been using TAG for a while and we love TAG &ndash; we love the products. When we bring the products to Oklahoma City, nobody else has the products. It’s a big plus here for our market area. I think it would be a great thing for people to get online and see what TAG can do for them.</td>
                      </tr>
                      <tr align="right">
                        <td height="40" valign="bottom" style="font-size:11px; line-height:18px; color:#000000; font-style:normal; font-weight:bold; font-family:Helvetica, Arial, sans-serif;">Sirron Brown, Marketing Director<br />
                          Excell Home Care and Hospice, Oklahoma</td>
                      </tr>
                    </table></td>
                  <td width="28"></td>
                </tr>
              </table></td>
          </tr>
          <tr>
            <td><img src="https://www.tagwebstore.com/email/testimonial-bottom.png" width="573" height="57" /></td>
          </tr>
        </table></td>
      <td width="25">&nbsp;</td>
    </tr>
  </table>

  <!--Testimonial End--> 

  <!--Footer-->

  <table cellpadding="0" cellspacing="0" border="0" width="625" align="center" bgcolor="#FFFFFF">
    <tr>
      <td colspan="3" height="20">&nbsp;</td>
    </tr>
    <tr>
      <td width="25">&nbsp;</td>
      <td width="575"><table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td align="left" valign="middle" width="295" style="font-family:Helvetica, Arial, sans-serif; font-size:12px;"><a href="mailto:[email protected]" style="color:#000000; text-decoration:none;">[email protected]</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;866.232.6477</td>
            <td width="178" style="font-family:Helvetica, Arial, sans-serif; font-size:12px;" valign="middle" align="right">Follow us on Twitter &amp; YouTube</td>
            <td valign="middle" width="102"><a href="https://twitter.com/TAGhomecaremktg"><img src="https://www.tagwebstore.com/email/twitter.png" width="49" height="17" border="0" /></a><a href="http://www.youtube.com/TAGWebinars"><img src="https://www.tagwebstore.com/email/youtube.png" width="53" height="21" border="0" /></a></td>
          </tr>
        </table></td>
      <td width="25">&nbsp;</td>
    </tr>
    <tr>
      <td colspan="3" height="20">&nbsp;</td>
    </tr>
  </table>

  <!--Footer End--> 

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


person Alex Kittavong    schedule 20.02.2013    source источник
comment
Я протестировал полный исходный код из приведенного выше URL-адреса в Litmus, и он отлично работал в Outlook 2003/2007/2013.   -  person Matt Coughlin    schedule 20.02.2013
comment
Действительно? Прогноз моих коллег на 2007 год показывает, что это действительно не в порядке. Это ее скриншот, который она сделала для меня. Будет ли это также связано с компьютером?   -  person Alex Kittavong    schedule 20.02.2013
comment
Как вы его тестируете? Если вы просто вставляете исходный код в Outlook и отправляете его по почте, Outlook может повредить код. Litmus.com достаточно надежен. Конечно, я не проверял код, но, поскольку он нормально отображается в Litmus, я предполагаю, что есть проблема с тем, как он тестируется.   -  person Matt Coughlin    schedule 20.02.2013
comment
Вот скриншот тестирования в Outlook 2007 с помощью Litmus: s3.amazonaws.com/resultcaptures/   -  person Matt Coughlin    schedule 20.02.2013
comment
Я использую Infusionsoft для запуска этих кампаний по электронной почте. Я использую инспектор входящих сообщений Mailchimp, чтобы просмотреть предварительный просмотр, но обработка его во всех различных почтовых клиентах занимает много времени.   -  person Alex Kittavong    schedule 20.02.2013
comment
Вау, это выглядит именно то, что мне нужно. Спасибо, что нашли время, чтобы проверить это для меня!   -  person Alex Kittavong    schedule 20.02.2013


Ответы (2)


о радость html писем

Есть много правил, которым вы должны следовать при работе с электронной почтой на основе HTML, особенно когда у вас требовательные клиенты и идеальные до пикселя дизайны, и я очень рад, что мне не приходилось работать над таким проектом по крайней мере два года. теперь... Основная причина моей полной неприязни к этой практике в первую очередь сводится к двум почтовым клиентам. Первым и худшим за все время является Lotus Notes 6.5.4 (честно говоря, ему уже больше 10 лет... но все же!) даже лучший может быть плохим, Outlook 2007 и 2010!

Тот, кто думал, что будет хорошей идеей использовать HTML-движок Microsoft Word WYSIWYG для рендеринга электронных писем в формате HTML в Outlook 2007 и 2010, должен был быть сумасшедшим, ленивым, потерянным или немного запутавшимся (удалить, если это уместно). Это вызывает у разработчиков бесконечные проблемы с рендерингом, обычно со случайными и необъяснимыми расчетами размеров или проблемами заполнения.

Взято из моего блога http://blog.pebbl.co.uk/2011/06/collapsible-html-email-and-outlook.html

Проще говоря, я вам не завидую :)

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

  1. Никогда не используйте colspans или rowspans.
  2. Всегда устанавливайте правильные размеры для ваших таблиц и ячеек.
  3. Используйте разделительные картинки, а не &nbps;.
  4. Всегда указывайте правильные размеры изображений и никогда не увеличивайте или уменьшайте изображения.
  5. Всегда добавляйте style="display:block;" к изображениям.
  6. Избегайте использования divs.
  7. Если вы хотите покрасить ссылки, поместите стиль в span как дочерний элемент внутри тега a.
  8. Не используйте курсив.
  9. Не используйте BR для макета, всегда используйте таблицы.
  10. Используйте BR в тексте, а не Ps (чтобы избежать проблем с большими полями и полного игнорирования абзацев).

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

http://pastie.org/6250834

Скрипт можно добавить как обычный тег script или включить с помощью GreaseMonkey или чего-то подобного (он был разработан для работы с Firefox, но я не вижу причин, по которым он не должен работать где-то еще). Из-за того, как я создавал свои электронные письма, он активируется только при соблюдении следующих условий:

  1. Существует внешняя таблица-оболочка с набором width="100%", используемая для центрирования фактического содержимого электронной почты.
  2. или... есть внешний элемент (таблица или div), который имеет id="base".

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

ss моего скрипта проверки электронной почтыобъяснение моей проверки электронной почты

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

Надеюсь, поможет.

person Pebbl    schedule 20.02.2013
comment
Вау, я действительно ценю это. Очень полезно увидеть, где могут быть проблемы. Я продолжаю получать смешанные ответы о ‹br›, потому что теперь Outlook.com и hotmail.com больше не поддерживают нижнее поле для ‹p›. Об этом было объявлено в прошлом месяце. Я также читал, что использование изображений-разделителей также не рекомендуется, в основном из-за скорости загрузки и оценки спама. Электронные письма в формате HTML всегда вызывают у меня головную боль. Я делаю их в течение 3 лет, и я все еще узнаю о них. Спасибо за помощь, я буду использовать это, чтобы помочь найти проблему. :) - person Alex Kittavong; 20.02.2013
comment
используйте br, они более последовательны, чем p. - person John; 20.02.2013
comment
@John Джон, хорошее пояснение, я имел в виду использование BR в макете (а не форматирование текста). Я определенно должен добавить, не используйте Ps. - person Pebbl; 21.02.2013
comment
@ Алекс, не беспокойся, надеюсь, что-то из вышеперечисленного было полезным! Да, когда я впервые начал создавать электронную почту в формате HTML, я никогда не осознавал, насколько это сложно — определенно более сложно поддерживать работу многочисленных почтовых клиентов, чем современные веб-браузеры. Становится еще более неловко, если вам приходится создавать адаптивные макеты :S - person Pebbl; 21.02.2013
comment
@AlexKittavong О, и что касается прокладок, я бы лично придерживался их, если клиент хочет, чтобы он выглядел требовательно и требовал поддержки старых почтовых клиентов. Чтобы обойти проблемы со спамом, просто не используйте их слишком много и убедитесь, что у вас есть несколько с разными именами. Если ваша компания беспокоится о дополнительном размере загружаемого файла (вряд ли что-то для прокладок), то ей следует смириться с тем, что их дизайн не будет выглядеть так хорошо в определенных местах. У вас нет другого выбора, кроме как использовать разделитель, если вы хотите, чтобы пробел был меньше высоты текста по умолчанию и поддерживает старые клиенты. В любом случае, это не ключевой вопрос... с этим определенно можно жить. - person Pebbl; 21.02.2013
comment
Что не так с курсивом? - person Matt Coughlin; 21.02.2013
comment
Это очень помогло, и ответ ниже тоже. Не могу добраться до технических вопросов с электронными письмами в формате html. Outlook — мой самый страшный кошмар. Спасибо еще раз за помощь. Я все еще работаю над поиском проблемы, но я думаю, что проблема заключается в клиентском компьютере, если честно. @MattCoughlin, в его прогнозе на 2007 год это выглядело хорошо. Я ненавижу обвинять в этом чей-то компьютер, но это определенно может быть фактором. - person Alex Kittavong; 21.02.2013
comment
@AlexKittavong Вам действительно не нужно использовать изображения-разделители в электронной почте. В Outlook большинство проблем с интервалами возникают, когда таблицы отделены от пересылки электронной почты (но это уже другая проблема!). Вы можете использовать заполнение для <td> или создать пустые <td> с &nbsp; (например, код вашего примера), чтобы он не рухнул. Для поддельного заполнения выше и ниже блоков текста используйте &nbsp;<br> и <br>&nbsp; соответственно. Если &nbsp отсутствует в начале и конце текстового блока (где открывается/закрывается ячейка таблицы), Outlook сворачивает его. Просто используйте <br><br> между абзацами. - person John; 21.02.2013
comment
@MattCoughlin хе, ах, это больше проблема Lotus Notes 6.5.4. У него было много проблем с некоторыми шрифтами при рендеринге курсивом, во-первых, у него не было возможности сглаживания (некоторые буквы были действительно неразборчивы), а во-вторых, целые слова просто исчезали или обрезались :) - person Pebbl; 21.02.2013
comment
@pebbl Я не беспокоюсь о старых заметках Lotus. По моим тестам на них приходится около 0,2% подписчиков, хотя каждый список отличается. Кроме того, col и rowspans всегда отлично работали для меня. - person John; 21.02.2013
comment
@ Джон, конечно... как я сказал в начале своего поста, последний раз я создавал электронное письмо более 2 лет назад, поэтому я ожидаю, что все будет двигаться дальше. Я просто дал то, что мои эмпирические правила были. К сожалению, когда я разрабатывал почту, у большого количества наших клиентов была именно эта версия Lotus Notes (игнорируя тот факт, что остальной мир ушел). Скорее раздражает. - person Pebbl; 21.02.2013
comment
@pebbl Я использую исключительно .png - возьмите этот Lotus Notes! Что касается colspans, когда вы пересылаете электронное письмо из Outlook, между таблицами образуются большие промежутки благодаря тому, что Outlook оборачивает их тегами <p>, поэтому использование больших таблиц с большим количеством строк (и colspans в поддержке) сохраняет электронную почту в лучшей форме. - person John; 21.02.2013
comment
+1 за то, что никогда не используйте rowspan или colspan - я только что потратил час, пытаясь выяснить проблему, вызванную rowspan. К счастью, я нашел этот ответ до того, как совсем сошёл с ума. - person Mike G; 16.10.2013
comment
@mikeTheLiar Ура, хех, да - у меня было много кошмаров со странностями rowspan, прежде чем я сделал это правилом; это позор, однако, они действительно значительно упрощают макеты таблиц! Рад, что мой ответ помог.. - person Pebbl; 16.10.2013
comment
Большое спасибо. Ты тоже помог мне не сойти с ума. FWIW, ваши правила натолкнули меня на мысль: поскольку перекодировать, чтобы избежать колспинов, раздражает, я завернул каждый ‹tr› в ‹table›. Таблицы всегда выстраиваются для меня в почтовых клиентах, и я тестирую с Litmus. Это упрощает код и позволяет удалять столбцы без перестройки HTML. У меня странное поведение в Outlook из-за colspan, но в строке после использования colspan. - person B Seven; 10.01.2014
comment
Ссылка на пасти в ответе мертва. Если бы его можно было обновить, это было бы признательно, в противном случае ваши подробные предложения потрясающие. - person Jake88; 15.06.2018
comment
К сожалению, у меня сейчас нет его под рукой, я далеко от своих резервных копий. Но посмотрю, смогу ли я его найти и перезалить куда-нибудь. Не знал, что пасти больше нет. - person Pebbl; 10.07.2018

Попробуйте это для своей верхней таблицы:

<table cellpadding="0" cellspacing="0" border="0" width="625" align="center" bgcolor="#FFFFFF">
    <tr>
      <td height="23" bgcolor="#FFFFFF">&nbsp;</td>
    </tr>
    <tr>
      <td width="25">&nbsp;</td>
      <td width="575">

        <table width="100%" cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td>
              <img src="https://www.tagwebstore.com/email/testimonial-top.png" width="575" height="36" style="display:block;" />
            </td>
          </tr>
          <tr>
            <td bgcolor="#f0d7c1" width="575">
              <table width="100%" cellpadding="0" cellspacing="0" border="0">
                <tr>
                  <td width="28">
                  </td>
                  <td width="519" style="font-size:11px; line-height:18px; color:#000000; font-style:italic; font-family:Helvetica, Arial, sans-serif;">
                    <table width="100%" cellpadding="0" cellspacing="0" border="0">
                      <tr>
                        <td style="font-size:11px; line-height:18px; color:#000000; font-style:italic; font-family:Helvetica, Arial, sans-serif;">We’ve been using TAG for a while and we love TAG &ndash; we love the products. When we bring the products to Oklahoma City, nobody else has the products. It’s a big plus here for our market area. I think it would be a great thing for people to get online and see what TAG can do for them.
                        </td>
                      </tr>
                      <tr align="right">
                        <td valign="bottom" style="font-size:11px; line-height:18px; color:#000000; font-style:normal; font-weight:bold; font-family:Helvetica, Arial, sans-serif;">Sirron Brown, Marketing Director<br />
                          Excell Home Care and Hospice, Oklahoma</td>
                      </tr>
                    </table>
                  </td>
                  <td width="28">
                  </td>
                </tr>
              </table>
            </td>
          </tr>
          <tr>
            <td>
              <img src="https://www.tagwebstore.com/email/testimonial-bottom.png" width="575" height="57" style="display:block;" />
            </td>
          </tr>
        </table>

      </td>
      <td width="25">&nbsp;</td>
    </tr>
  </table>

и это для вашего дна:

  <table cellpadding="0" cellspacing="0" border="0" width="625" align="center" bgcolor="#FFFFFF">
    <tr>
      <td colspan="3" height="20">&nbsp;</td>
    </tr>
    <tr>
      <td width="25">&nbsp;</td>
      <td width="575">
        <table width="100%" cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td align="left" valign="middle" width="280" style="font-family:Helvetica, Arial, sans-serif; font-size:12px;">
              <a href="mailto:[email protected]" style="color:#000001; text-decoration:none;">[email protected]</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;866.232.6477
            </td>
            <td width="193" style="font-family:Helvetica, Arial, sans-serif; font-size:12px;" valign="middle" align="right">
              Follow us on Twitter &amp; YouTube
            </td>
            <td valign="middle" width="49">
              <a href="https://twitter.com/TAGhomecaremktg"><img src="https://www.tagwebstore.com/email/twitter.png" width="49" height="17" border="0" style="display:block;" /></a>
            </td>
            <td valign="middle" width="53">
              <a href="http://www.youtube.com/TAGWebinars"><img src="https://www.tagwebstore.com/email/youtube.png" width="53" height="21" border="0" style="display:block;" /></a>
            </td>
          </tr>
        </table>
      </td>
      <td width="25">&nbsp;</td>
    </tr>
    <tr>
      <td colspan="3" height="20">&nbsp;</td>
    </tr>
  </table>

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

person John    schedule 20.02.2013
comment
да, это тоже сработало. Я все еще пытаюсь понять, почему моя ширина была неправильной, когда я правильно ее рассчитал. Я вижу, что вы использовали 100% в качестве ширины в ‹td›, который вы используете в качестве контейнера. Лучше сделать так, чем указывать точную ширину? - person Alex Kittavong; 25.02.2013
comment
это, вероятно, будет работать в обоих направлениях, но на одно место меньше, чтобы установить ширину для чего-то, что вы хотите, такой же ширины, как его родитель. - person John; 25.02.2013
comment
Правда, так меньше путаницы. - person Alex Kittavong; 27.02.2013