Проблема с GMail: завершение электронной почты в формате HTML с нежелательным тегом PRE

Я пытаюсь отправить письмо в формате HTML на GMail. Но GMail внутренне завершает Html моего письма тегом pre.

Например: мое электронное письмо содержит ниже html

<html>
<body>
    <table>
        <tr>
            <td> TEST 1 </td>
        <tr> 
    </table>
    <table>
        <tr>
            <td> TEST 2 </td>
        <tr> 
    </table>

</body>

But Gmail translates this html in different way as shown below

<pre><table>
        <tr>
        <td> TEST 1 </td>
    <tr> 
</table>
<table>
    <tr>
        <td> TEST 2 </td>
    <tr> 
</table></pre>

Кто-нибудь может мне помочь, как этот тег PRE добавляется в GMail?
Проблема с этим тегом pre заключается в том, что в нем есть некоторые стили, исходящие из Gmail, которые портят внешний вид моего письма. Ниже находится CSS.

.gs pre {
  white-space: pre-wrap;
}

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

Любая помощь в моих вышеуказанных сомнениях действительно ценится.


person Akash Ramchandani    schedule 28.03.2015    source источник
comment
Это неверно, Gmail не объединяет table с pre.   -  person rds    schedule 28.03.2015


Ответы (1)


@RDE, вы абсолютно правы. Gmail не переносит тег PRE.

Я только что понял проблему и решение тоже.

Проблема Я использовал Adobe CQ (инструмент управления контентом) для отправки электронных писем. При отправке писем весь мой HTML-код закрывался тегом PRE. Скорее всего, это произошло из-за Adobe CQ Mail API, который отправляет электронную почту. Проблема возникала у меня во всех почтовых клиентах.

Решение Я обернул тег PRE вне всего html со стилем "white-space:initial". Когда CQ генерирует электронную почту, я получаю два предварительных тега: один (внешний тег PRE) от CQ и еще один (внутренний тег PRE), который я использовал для переноса моего HTML. Внутренний тег PRE имеет приоритет над внешним и переопределяет стили, вызывающие проблему. Добавление кода для большей ясности

<pre style="white-space:initial"> 
Your hTML that goes through CQ
</pre>... 

Теперь, когда вы отправите электронное письмо через CQ, ваш окончательный HTML-код будет таким:

<pre>
    <pre style="white-space:initial">
        Your hTML that goes through CQ
    </pre>
</pre>
person Akash Ramchandani    schedule 28.03.2015
comment
Спасибо! У меня была точно такая же проблема сегодня! - person NielsInc; 09.06.2017
comment
Невероятно, но это фактически решило мою проблему, моя была совершенно другой в настольном веб-приложении Outlook. Мое электронное письмо не содержало текста абзаца внутри табличного контейнера. Достаточно забавно, я обнаружил, что у него есть тег ‹pre›, в который, если я его уберу, он все правильно завернет. Поэтому я добавил к нему второй пре, и бум, это сработало, большое спасибо! - person Leo; 12.11.2018