【问题标题】:gmail splits my html codegmail拆分我的html代码
【发布时间】:2012-08-03 17:10:25
【问题描述】:

我正在使用 PHP mail() 函数发送此 HTML:

    <div>hello<div><br></div><div>dsfs</div><div><b style="background-color:rgb(255,0,0)">dfs</b></div><div><b style="background-color:rgb(255,0,0)">df</b></div><div><b style="background-color:rgb(255,0,0)">sdf</b></div><div>sdf</div>
<div>sdfff</div></div>

这是一封非常简单的 HTML 电子邮件,但 Gmail 显示了这一点:

hello
dfs
df
<= div style=3D"color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13p= x;background-color:rgb(255,255,255)"> sdf
sdf
sdfff

为什么 Gmail 会截断我的 HTML,我该如何解决?

我直接捕获从 gmail 发送的 html 代码 file_get_contents("php://stdin");并处理它以提取 html 代码(我只删除标题),因此 html 是完全正确的,我不必编辑它。那么,为什么如果 gmail 将 html 发送到另一个 gmail,这看起来不错,但我发送 html 是 html 灾难?

说真的,html 完全符合 gmail

【问题讨论】:

  • 您永远不会对任何电子邮件客户端中的 HTML 输出结果感到满意。它们旨在消除任何可能的恶意代码。我建议使用电子邮件测试平台,例如 litmusemail on acid
  • 另外,您使用的是email()函数还是mail()函数?
  • 如果您使用&lt;div&gt;s,您必须在包含在电子邮件正文中之前以某种方式呈现您的消息,否则您将不得不使用只有&lt;br/&gt;&lt;p&gt;的普通文本和那种标签。也许您可以尝试在电子邮件中使用&lt;table&gt;
  • 也许题外话了,但您确实需要为填充文本选择更好的命名约定。例如,更容易理解基本的第 1 行、第 2 行...第 6 行发生了什么;不是使用的 dsfs dsf sdfs,这真的让人难以理解。
  • 我以前见过style=3D" 这个东西,但我不记得在哪里......也许看看这个:stackoverflow.com/questions/4016067/…

标签: php html email split gmail


【解决方案1】:

这就是您的代码在正确格式下的样子。我已将您的内联样式移至 &lt;div&gt;,因为我不能 100% 确定它在 &lt;b&gt; 标记中的有效性。

<div>hello 
    <div><br /></div>
    <div>dsfs</div>
    <div style="background-color:rgb(255,0,0)"><b>dfs</b></div>
    <div style="background-color:rgb(255,0,0)"><b>df</b></div>
    <div style="background-color:rgb(255,0,0)"><b>sdf</b></div>
    <div>sdf</div>
    <div>sdfff</div>
</div>

没有任何内容被截断。除非设置了floatdisplay:inline 样式,否则&lt;div&gt; 标记始终显示在彼此下方。

【讨论】:

  • 这是一个有效的 html,如果我将格式化的邮件从 gmail 发送到我的 postfix 服务器,则 html 会完全显示我在此处发布的方式。
  • 再看一遍,你是对的。我看错了你的标签。试试我更新的代码,看看是否有帮助。
  • 为什么backgroundstyleb 标签上无效?
  • @Wesley 不确定,但电子邮件客户有做一些非常古怪的事情的习惯。
  • 我正在直接捕获从 gmail 发送的 html 代码 file_get_contents("php://stdin");并处理它以提取 html 代码(我只删除标题),因此 html 是完全正确的,我不必编辑它。那么,为什么如果 gmail 将 html 发送到另一个 gmail,这看起来不错,但我发送 html 这是一场 html 灾难?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
相关资源
最近更新 更多