为什么我的php变量没有初始化,在发送电子邮件之前发送带有初始化的php变量值的html电子邮件的解决方法是什么?我肯定我一定错过了什么。
$query=mysqli_query($conDB,"SELECT * FROM client_profile WHERE client_id='1'") or die(mysql_error());
while($row = mysqli_fetch_array($query)) {
$client_name = $row['client_name'];
}
我从上面的查询中获取了$client_name
中的客户名称。
$query2=mysqli_query($conDB,"SELECT * FROM emails WHERE emailfor='1'") or die(mysql_error());
while($row2 = mysqli_fetch_array($query2)) {
$from = $row2['fromEmail'];
$sendTO = $row2['to_Email'];
$template = $row2['template']; //this database column holds this variable $client_name with table template
$subject = $row2['subject'];
}
$template
变量包含以下结构
<div style="color:#333;font-size: 14px;">
Dear, '. $client_name .'<br /><br /><br />
<table border="1" style="border-collapse:collapse; border:thin dotted #CCC; padding:5px; color:#333; font-size:13px;">
<tr>
<td><h3>Client Information</h3></td>
</tr>
<tr><td>Client Name</td> <td>'. $client_name .'</td></tr>
</table>
</div>
现在我发送电子邮件如下---
$to = $sendTO;
$emailSubject="$subject";
$from = $fromTO;
$message = '<html><body bgcolor="#FFFFFF">';
$message .= '<head>';
$message .= '</head>';
$message .= "$template";
$message .= "</body></html>";
$headers = "From: $from \r\n" . "CC: $from";
$headers .= "Reply-To: $from \r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=utf-8\r\n";
mail($to, $emailSubject, $message,$headers);
我收到的变量名为Dear, $client_name
的电子邮件
任何帮助将不胜感激。
答案 0 :(得分:0)
撰写$message .= "{$template}";
或使用str_replace
function =&gt;
str_replace($arr , $arr1 , $string)
答案 1 :(得分:-1)
如果您正在使用PHP 5.2.x或更高版本,您可能需要签出Mandrill,并可能与MailChimp一起用于生成模板。
他们拥有的沙盒模式非常好。