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