PHP中插入html代码

2014年-05月-23日

最近做微信网站的在线下单功能,有用到phpmailer用来发送表单信息到邮件,phpmailer是一个开源的邮件程序,配置也非常简单,不过我看到很多人不是很清楚phpmailer的邮件格式如何定义,最关键的原因是不知道如何输出解析html代码
其中email.php  配置好收件信息后,默认的样式是这样的



代码如下:

<?php 
require_once("Email.class.php");
$contactNameField = $_POST["contactNameField"];
$contactEmailField = $_POST["contactEmailField"];
$contactMessageTextarea = $_POST["contactMessageTextarea"];
$toemail = "1166545@qq.com" ; 
$subject = "在线下单" ;
$message = 
"\n客户名称:" .$contactNameField.
"\n联系方式:" .$contactEmailField.
"\n订单内容:" .$contactMessageTextarea;
Email::init();
Email::send($toemail, "$subject", $message);
echo 1;
?>

这样配置的结果是:收到的邮件格式为一行显示
客户名称:XXXXX联系方式:XXXXX订单内容:XXXXX 这样的
这样的格式虽然是也可以用,如果是自己配置的也都看得懂是怎么回事,但是这样的结果要是直接给客户要客户将就着看,那样显然是不合理的

我们需要的格式是类似html的br效果:
客户名称:XXXXX
联系方式:XXXXX
订单内容:XXXXX
这样的

要实现这种效果就需要对以上的代码进行修改
php语句通过.连接 ;结尾
我们将以上代码修改为



代码如下:

<?php 
require_once("Email.class.php");
$contactNameField = $_POST["contactNameField"];
$contactEmailField = $_POST["contactEmailField"];
$contactMessageTextarea = $_POST["contactMessageTextarea"];
$toemail = "1166545@qq.com" ; 
$subject = "在线下单" ;
$message = 
"\n客户名称:" .$contactNameField."<br />".
"\n联系方式:" .$contactEmailField."<br />".
"\n订单内容:" .$contactMessageTextarea."<br />".
"<span style='color:#F00'>该邮件来自微信客户端,请及时回复!</span>";
Email::init();
Email::send($toemail, "$subject", $message);
echo 1;
?>

其中 <br /> 等html代码必须用双引号括起来
然后style等里面的双引号为了跟外面的冲突就改为单引号
这样就实现了我们想要的效果

收到邮件的实际效果为: