电子邮件不显示HTML

时间:2016-04-05 12:49:40

标签: php html email

我想在发送给客户和管理员的电子邮件中显示我写的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);

    }
?>

1 个答案:

答案 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的方式。