php中的HTML样式电子邮件

时间:2011-10-08 16:38:09

标签: php html email

我无法弄清楚我错过了什么。

$info = mysql_fetch_array($dataz);

$body = '
<html>
<head>
  <title> Summary Report </title>
</head>
<body>
  <p>Type of incident: {$info['type']}</p>
  <p>Date upon entry: {$info['date']}</p>   
  <p>Time upon entry: {$info['time']}</p>
  <p>Your account name: {$info['reporter']}</p>
  <p>Your incident ID number: {$info['ID']}</p>
  <p>Your description of the incident: {$info['desc']}</p>  
</body>
</html>';

$headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";


mail($info['email'], "subject!", $body, $headers);

3 个答案:

答案 0 :(得分:2)

您不能在单引号中使用变量。

php > $hallo = 'Bla';
php > $hello = 'Bla';
php > echo '{$hello} there.';
{$hello} there.
php > echo "{$hello} there.";
Bla there.

在$ body中使用双引号(“)代替:)

答案 1 :(得分:2)

当您需要使用双引号来利用PHP的变量替换时,您使用单引号初始化$body字符串。

答案 2 :(得分:0)

您的变量应按以下方式添加到您的电子邮箱中:

$info = mysql_fetch_array($dataz);

$body = '
<html>
<head>
  <title> Summary Report </title>
</head>
<body>
  <p>Type of incident: ' . $info['type'] . '</p>
  <p>Date upon entry: ' . $info['date'] . '</p>   
  <p>Time upon entry: ' . $info['time'] . '</p>
  <p>Your account name: ' . $info['reporter'] . '</p>
  <p>Your incident ID number: ' . $info['ID'] . '</p>
  <p>Your description of the incident: ' . $info['desc'] . '</p>  
</body>
</html>';

$headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";


mail($info['email'], "subject!", $body, $headers);

据推测,这是你的一个问题消失了

邮件是否实际发送? 是不是像预期的那样以HTML格式显示?