GMail的问题 - 用不需要的PRE标签包装Html电子邮件

时间:2015-03-28 10:17:28

标签: gmail html-email pre

我正在尝试向GMail发送HTML电子邮件。 但是GMail在内部用我的电子邮件包装了我的电子邮件的Html。

例如:我的电子邮件包含html以下

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

</body>

但Gmail会以不同的方式翻译此HTML,如下所示

<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来将'white-space'的值改为'initial'而不是'pre-wrap'?如果可以,我的问题将得到解决。

对我上述怀疑的任何帮助都非常感激。

1 个答案:

答案 0 :(得分:2)

@RDE,你是对的。 Gmail不会包装PRE标记。

我也想出了问题和解决方案。

<强>问题 我使用Adobe CQ(内容管理工具)发送电子邮件。在发送电子邮件时,我的整个HTML都包含了PRE标签。这很可能是由于发送电子邮件的Adobe CQ Mail API造成的。在所有电子邮件客户端中都出现了问题。

<强>解决方案 我已经在整个html中包装了PRE标签,样式为&#34; white-space:initial&#34;。当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>