嗨,有人可以帮我发送一封包含我收集的阵列数据的电子邮件吗? 我正在尝试使用数组获取数据库中的记录,然后我将通过电子邮件发送
这是我的代码: 我会先得到我想要的记录:
$queclient_credit = "SELECT company, credits FROM clients WHERE credits <= 20 and company !='' ORDER BY credits ASC ";
$getque = mssql_query($queclient_credit) or die();
while ($rowclient_credit=arrayfetch($getque)){
$rowcompany = $rowclient_credit['company'];
$rowcredits = $rowclient_credit['credits'];
Then put it on array:
$data = array(
'company'=>$rowcompany,
'credits'=>$rowcredits
);
$dat = implode(' : ', $data);
}
if($rowcredits<= 20){
$from='email@gmail.com';
$to = 'email@gmail.com';
$gmailPass = 'password';
require('phpmailer/5.1/class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = 'smtp.gmail.com';
$mail->Port = '465';
$mail->Username = $from;
$mail->Password = $gmailPass;
$mail->From = $from;
$mail->FromName = $from;
$mail->AddReplyTo($from, $from);
$mail->Subject = 'Credit System ';
$mail->Body = $message;
$mail->MsgHTML('<b><p>'.$dat.' credits<p><b>');
$mail->IsHTML(true);
$mail->AddAddress($to, $to);
if(!$mail->Send()){
// $mail->ErrorInfo;
}else{
echo 'Message Successfully Sent!';
$mail->ClearAddresses();
$mail->ClearAttachments();
}
}
感谢您的回答
答案 0 :(得分:1)
我不是专业人士,但我可以给你建议。代码中的所有内容都可以,但是,您的代码只会发送一条记录,只需进行两次更改,您的代码将开始发送所有记录(如果是数组)。
$data = array(
'company'=>$rowcompany,
'credits'=>$rowcredits
);
到
$data[] = array(
'company'=>$rowcompany,
'credits'=>$rowcredits
);
第二个变化是
将$dat = implode(' : ', $data);
移出你的while循环。
如果您想在电子邮件中添加一些样式,可以根据需要使用不同的html标记格式化结果。
希望这会有所帮助。答案 1 :(得分:0)
你必须创建一个变量(你已经拥有它了:$ message),并使用foreach函数填充你的数组数据以连接字符串。 例如:
$message = "";
foreach($getque as $g)
{
$message .= "</br>".$g["table_column_name"];
}
...
答案 2 :(得分:0)
如果您希望通过邮件表格显示所有详细信息,请使用
$data="<table><tr>
<th></th>
<th></th>
</tr>";
while ($rowclient_credit=arrayfetch($getque)){
$rowcompany = $rowclient_credit['company'];
$rowcredits = $rowclient_credit['credits'];
$data.="<tr> <td>".$rowcompany."</td>
<td>".$rowcredits."</td>
</tr>";
}
$data.="</table>";
$mail->MsgHTML($data);