我正在尝试发送 html电子邮件。邮件工作正常但不是html电子邮件,它只是显示".$message."
。数据来自mysql数据库。
我的脚本如下:
$to = $email;
$subject = $subject;
$message = "$message";
$htmlContent = '
<html>
<body>
".$message."
<br /><br />Regards<br /><b>TM</b>
</body>
</html>';
$headers = 'From: myemail@gmail.com' . "\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
if(mail($to, $subject, $htmlContent, $headers))
echo "Mail Sent";
else
echo "Problem sending email";
答案 0 :(得分:0)
你有混合单引号和双引号。串联字符串时只使用一种类型。
$htmlContent = "
<html>
<body>
".$message."
<br /><br />Regards<br /><b>RainbowCTM</b>
</body>
</html>";
答案 1 :(得分:0)
要完成上一个答案,单引号和双引号之间存在巨大差异:
<?php
$locs='[{"locid":"101","rows":
[{"itemcode":"100005","qty":10,"desc":"Potato Chips Banana Chips","locs":"101"},{"itemcode":"100002","qty":20,"desc":"mango","locs":"101"}]}]';
$locsArray = json_decode($locs, true);
foreach($locsArray[0]["rows"] as $locRow) {
echo $locRow["itemcode"];
}
?>
,则只显示echo '$message'
。$message
,则会显示echo "$message"
变量的内容。答案 2 :(得分:0)
Finwe完全正确。 说明:单引号始终采用字符串,而不处理变量或元符号,如\ t或\ n。
另外一个提示:尝试仅使用\n
而不是\r\n
,因为某些PHP版本中存在产生错误的错误。即使这不是一个问题,它可能会在更新后成为一个(取决于您的PHP版本)。