66

我一直在测试我最近创建的 HTML 电子邮件流程。但是最近,当我在 Gmail 中打开电子邮件时,我注意到某些元素被包装在一个我知道我没有放入原始 HTML 布局的类中。事实上,我只是检查了三次!在 Gmail 中查看 HTML 电子邮件时,我的表单的随机部分被...

<div class="im">
....
</div>

因此,某些文本会变成紫色,而其他文本不会。为什么会这样?

谢谢

4

11 回答 11

74

Gmail 似乎认为您在对话中引用了其他电子邮件,因此包装div.im围绕您的代码部分,它认为是对话中的先前部分。

如果您的代码有一个包含多个 TR 的 TABLE,则可能会发生这种情况。为了解决这个问题,而不是在一个 TABLE 中使用多个 TR,请使用多个 TABLE,每个 TABLE 中都有一个 TR。

如果您有多个相同的主题行,也可能会发生这种情况,导致 Gmail 认为这是一个对话。您可以通过使每个主题行唯一来解决此问题。

于 2013-05-22T10:59:08.170 回答
12

单独的样式文件不适用于电子邮件。您可以做的是在 html 中为此类添加样式,如下所示:

  <head>
       <style type="text/css">
        .im {
           color: #000000 !important;
        }
    </style>
  </head>

这应该为类.im提供样式,以防万一

于 2016-12-12T21:30:49.053 回答
5

在使用带有单行换行符的段落时,我也遇到了这个问题,如下所示:

<p>
   line 1<br>
   line 2<br>
   line 3
</p>

我能够纠正 Gmail 中发生的问题,即从 HTML 的特定部分中删除所有空白区域,并使整个段落及其所有内容与屏幕的左边缘齐平。当然它看起来有点乱,你失去了正确的缩进,但我认为这有助于 Gmail 不会意外地认为你在引用内联的东西。

于 2014-05-15T16:41:04.903 回答
1

我有类似的问题。我正在使用模板从应用程序发送电子邮件。因此,当我向同一个地址发送多封电子邮件时,所有邮件中完全相同的行都会变成紫色。Gmail 自动添加了这个标签:

<div class="im">
.........
</div>

我不知道事实上,在我看来,Gmail 似乎将常用文本包装在带有 this 标签的对话中。类似的讨论在这里

于 2015-01-10T02:31:24.473 回答
1

我也有这个问题。我只是在每行末尾添加了一个五位随机数char,并将颜色设置为背景。然后问题就解决了。

这不是一个好方法,但如果没有其他方法,也许你可以尝试一下。

于 2017-02-02T11:31:55.957 回答
1

你这样忽略了im类的风格

<b style="color:black;">Some text</b>

有些文字没有紫色

于 2018-11-27T13:37:03.860 回答
1

<br>如果它具有如下样式,您可以在电子邮件 html 中使用标签:<br style="box-sizing:border-box">

于 2020-09-18T02:12:32.987 回答
0

所以我在为我的 Web 应用程序设计邮件系统时遇到了这个问题。这里给出的解决方案对我来说实施起来有点费时,因为邮件内容很大,而且在很多地方都添加了 span 标签。就在我遇到这个文件的时候。事实证明,当 Gmail 客户端收到两封或多封具有相同主题行的电子邮件时,Gmail 会添加 .im 类跨度标签。所有电子邮件都根据主题行分组到一个对话组中。Gmail 会检测到上一封电子邮件中引用的第二封(第三封、第四封……)电子邮件的某些部分。我只是删除了以前的电子邮件,问题就解决了,因为 Gmail 没有将邮件分组在一起。帮助我的文章=>

https://litmus.com/community/discussions/5189-gmail-changes-color-of-text-im-class

该解决方案对我有用,因为我的应用程序的预期行为不是一次共享多封电子邮件。希望这个答案会有所帮助

于 2022-03-03T12:07:21.257 回答
0

If you replay to an email Gmail automatically puts your content in a <div class="im">, that's why text colors turn purple.

Just try to compose a new email.

于 2021-04-17T09:29:06.580 回答
0

在我创建的主表中,最后一个孩子添加:

<div style="display:none;">1</div>

并且数字1每次递增。我正在使用模板字符串用 js 生成内容

`<div style="display:none;">${new Date().toString()}</div>`

您还需要添加style="color:#000;"到父级。这将防止整个电子邮件显示为引用,因此不会用.im类为文本着色

于 2020-06-08T20:23:55.170 回答
-3

请在您的页面上使用样式:

div.adm {  display: none !important;}
div.h5 { display: block !important;}
于 2020-04-01T08:57:44.393 回答