php - gmail 没有正确显示 html 文本

标签 php html gmail

我制作了向用户发送 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 的屏幕截图:

https://imgur.com/h8cLL

附带说明一下,此脚本通常一次只会向 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/

相关文章:

javascript - 第二次单击时 jQuery 对话框未打开

javascript - 平滑滚动插件不允许我向下滚动页面

python - 来自 gmail 的 HIGHESTMODSEQ 响应

gmail - 如何使用 Gmail API 访问我拥有的 gmail 帐户?

php - 检索两个 SUM(col) JOIN ON 不同值的商

php - PHP 中当前 Google API 的 BigQuery 示例

javascript - 通过 JavaScript 读取拖放有序列表

android - 字母头像Gmail Android最佳实践

php - Codeigniter:登录每个帐户后如何显示每个员工的详细信息?

javascript - jQuery.ajax 为什么不从 php json_encode 访问该项目?