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 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化