1

我们最近将电子邮件从在“部落”上运行更改为在 gmail 应用程序上运行以进行业务,在我们的网站上,我们有一个联系表格,可以向我们发送包含在一些 html 中的消息,以便我们可以对其进行格式化。

当电子邮件使用旧系统通过时,它们可以正常通过,但是当它们通过 gmail 传递时,它们会以未格式化的方式通过,并显示所有 html 标签。

您是否需要声明一个 doctype 才能使其正常工作,还是其他原因?

我附上了一份用于发送电子邮件的 php im 的副本

<?php $name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$formcontent="

<html>
<head>
<title>Message</title>

<style>
       h1   {font-weight:bold; font-size:14px; margin-top:20px;}
       p    {font-size:14px; margin-top:20px;}
</style> 

</head>
<body>
<h1>From :</h1> $name \n <h1>Email :</h1> $email \n <h1>Phone :</h1> $phone \n <h1>Message :</h1> $message
</body>
</html>
";

$recipient = "studio@mydomain.co.uk";
$subject = "Contact Form";
$mailheader = "MIME-Version: 1.0" . "\r\n";
$mailheader .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
$mailheader .= "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");

echo("<p>Thanks for getting in touch, we'll get back to you shortly..</p>");
?>
4

2 回答 2

2

GMail 不支持<style>标签,您必须将它们内联,<h1 style="">等等。

查看此表以获取有关不同电子邮件客户端所支持内容的指南。

于 2012-11-15T13:54:56.587 回答
1

如果给定选项,GMail 会选择非 html 电子邮件。

参考

你在这里做什么:

$mailheader .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
于 2012-11-15T13:53:50.563 回答