duanliao5995 2015-12-30 05:35
浏览 25
已采纳

php邮件语法错误

$mail_body = '<html>
<body style="background-color:#CCC; color:#000; font-family: Arial, Helvetica, sans-serif; line-height:1.8em;">
<h3><a href="http://www.grillontherock.com"><img src="http://i.imgur.com/OODKT9h.png" alt="GR" width="194" height="123" border="0"></a> 
</h3>
<p>Hello ' . $name . ',</p>
<p>You can make this out to be just like most any web page or design format you require using HTML and CSS.</p>
<p>Grill on the Rock </p>
<hr>
<p>To opt out of receiving this newsletter,  <a href="http://grillontherock.x10host.com/email/optout.php?e=' . $email . '">click here</a> and we will remove you from the listing immediately.</p>
</body>
</html>';

        $to = "$email";
        $subject = "Example Grill on the Rock Email";
        $from="info@grillontherock.com";

        $mail_result = mail($to, $subject, $mail_body, "From:".$from);

    }
    if($mail_result){
        echo "Email has been sent successfully";
    }

I am having problem with sending email with php and html.

This code works perfectly fine but the email I am getting is

enter image description here

but when I use double quotation for html file php code greys out for some reason.

$mail_body = "<html>
<body style="background-color:#CCC; color:#000; font-family: Arial, Helvetica, sans-serif; line-height:1.8em;">
<h3><a href="http://www.grillontherock.com"><img src="http://i.imgur.com/OODKT9h.png" alt="GR" width="194" height="123" border="0"></a> 
</h3>
<p>Hello ' . $name . ',</p>
<p>You can make this out to be just like most any web page or design format you require using HTML and CSS.</p>
<p>Grill on the Rock </p>
<hr>
<p>To opt out of receiving this newsletter,  <a href="http://grillontherock.x10host.com/email/optout.php?e=' . $email . '">click here</a> and we will remove you from the listing immediately.</p>
</body>
</html>";

        $to = "$email";
        $subject = "Example Grill on the Rock Email";
        $from="info@grillontherock.com";

        $mail_result = mail($to, $subject, $mail_body, "From:".$from);

    }
    if($mail_result){
        echo "Email has been sent successfully";
    }

a bit new to php and html and I could not find similar problem at the moment.

Also, Is it possible to have email as html form and bring that html through send php file?

  • 写回答

3条回答 默认 最新

  • duanfengwang9157 2015-12-30 05:47
    关注

    You need to set Content-Type to text/html in mail headers

    Example headers with Content Type:

    $headers = "From: danny@danny.domain
    ";
    $headers .= "Reply-To: no-reply@danny.domain
    ";
    $headers .= "MIME-Version: 1.0
    ";
    $headers .= "Content-Type: text/html; charset=ISO-8859-1
    ";
    

    then

    $mail_result = mail($to, $subject, $mail_body, $headers);
    

    @edit.

    Also check exaple #4 at: http://php.net/manual/en/function.mail.php

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算