我制作了向用户发送 html 电子邮件消息的脚本。但是,在 Gmail 中,我似乎无法使用字体颜色。它适用于第一条消息,但对话中的下一条消息都显示为紫色。
只有当我使用 file_get_Contents() 从 .txt 文件中获取字符串时才会发生。如果我用类中的字符串填充变量或直接输入消息而不是使用变量,gmail 会正常显示 html。我还没有发现其他网络邮件或邮件客户端有任何问题。对于实际发送的邮件,我都尝试了 phpmailer和常规的 mail() 函数。
$message = "<html><body><font face='Georgia, Times' color='red'>";
$message .= "<p>Beste " . $this->name . "</p>";
$message .= "<p>" . $parPersonal . "</p>";
$message .= "<p>" . $parOne . "</p>";
$message .= "<p>" . $parTwo . "</p>";
$message .= "<p>" . $parThree . "</p></font></body></html>";
来自 gmail 的屏幕截图:
附带说明一下,此脚本通常一次只会向 1 个人发送 1 封电子邮件,应该不会出现此问题,它目前只是邮寄到我自己的 gmail 帐户以进行测试。但是,我非常好奇如何解决此问题以供将来使用。
最佳答案
这很可能是由于 <font>
的嵌套不当造成的标签。
<font>
标签是一个内联元素,它应该嵌套在你的 block 元素中,比如 <p>
。标签。
这会导致非常困惑的 HTML,但电子邮件客户端使用的相当陈旧的 html 引擎就是这样。
如今,您可以在元素中使用内联样式来获得良好的覆盖率(但单独的 <style>
block 仍然很难覆盖)。请参阅来自 CampaignMonitor 的这一重要资源,了解您可以使用的内容:http://www.campaignmonitor.com/css/
关于php - gmail 没有正确显示 html 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10789364/