我想在发送给客户和管理员的电子邮件中显示我写的HTML。现在它只显示所有的html标签。
我有这段代码:
<?php
if(isset($_POST['submit'])){
$to = "myemail@myemail.com";
$from = $_POST['email_address'];
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$address_street = $_POST['address_street'];
$phone = $_POST['mobile_no'];
$customer_message = $_POST['textarea'];
$subject = "Spejl Blank - Klik en pris";
$message = "<html><body>";
$message .= "<h1HELLO WORLD!</h1>";
$message .= "</body></html>";
$message .= "Du modtager her dit uforpligtende tilbud :)";
$message .= "Din besked: " . $customer_message;
$headers = "From:" . $from;
$headers2 = "From:" . $to;
$headers .= "Reply-To: ". strip_tags($_POST['req-email']) . "\r\n";
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
mail($to,$subject,$message,$message1,$headers);
mail($from,$subject,$message,$message1,$headers2);
}
?>
答案 0 :(得分:3)
根据您的原始帖子https://stackoverflow.com/revisions/36426850/1
这是这笔交易。您的代码>
缺少<h1HELLO WORLD!</h1>
,因此需要将其更改为<h1>HELLO WORLD!</h1>
。
编辑:啊,现在你现在编辑了https://stackoverflow.com/revisions/36426850/2,但仍然适用以下内容。
然后是&#34;链接&#34;在$headers = "MIME-Version: 1.0" . "\r\n";
打破了那里缺少点/连接点。
$headers .= "MIME-Version: 1.0" . "\r\n";
然后你在标题中使用了5个参数,这些参数不会起作用。 mail()
有5分,但是完全不同的东西。
阅读手册:
除此之外,您还没有分配给$message1
的任何内容,但无论如何都无法使用。
将error reporting添加到文件的顶部,这有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// Then the rest of your code
旁注:只应在暂存时进行显示错误,而不是生产。
修改强>
另一件事是您需要创建新标头以将其他邮件作为HTML发送,这很可能就是为什么您说它不是以HTML格式发送的。
只发送的第一封邮件是HTML而不是第二封邮件。请参阅我在Stack上的一个答案来执行此操作https://stackoverflow.com/a/18382062/并为每个答案添加新的HTML标题,为每个标题使用不同的变量,就像对$headers2
所做的那样,并使用相同的代码将其应用于您的代码您使用HTML $headers
的方式。