我制作了向用户发送HTML电子邮件的脚本。但是,在Gmail中,我似乎无法使字体颜色正常工作。它适用于第一条消息,但会话中的下一条消息都以紫色显示。
只有当我使用file_get_Contents()从.txt文件中获取字符串时才会发生这种情况。如果我用我的类中的字符串填充变量或直接输入消息而不是使用变量gmail通常会显示html。我没有发现其他网络邮件或邮件客户端的任何问题。对于邮件的实际发送,我尝试了phpmailer和普通邮件()函数。
$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帐户进行测试。但是,我非常好奇我将如何解决这个问题以备将来使用。
答案 0 :(得分:1)
这很可能是由于<font>
标记的嵌套不当造成的。
<font>
标记是一个内联元素,应该嵌套在您的块元素中,例如<p>
标记。
这会导致非常混乱的HTML,但是电子邮件客户端使用相当陈旧的html引擎就是很多。
这些天您可以在元素中使用内联样式获得良好的覆盖率(但单独的<style>
块仍然覆盖不足)。从CampaignMonitor中查看您可以使用的优秀资源:http://www.campaignmonitor.com/css/
答案 1 :(得分:0)
请勿使用<font>
标记。这就是你在1995年设计html的方式。而是尝试使用内联样式:
<p style="color: red; font-family: Georgia, Times">
作为一般的FYI。许多电子邮件客户端从基于html的电子邮件中删除样式表信息。如果您有特定区域,您可能需要考虑使用图像。
也就是说,您还应该注意内联样式/过度使用旨在突出显示CLICK ME链接的强标记可以增加电子邮件的整体范围得分。