我有一个按钮,当按下该按钮时,它会通过电子邮件发送数据库中电子邮件的更新。
这是我的代码。我也从一个论坛得到了这个,但我不知道它没有收到数据库中的电子邮件有什么不对:
$form_action = $_POST['form_action'];
if ($form_action == 'REGISTER') {
//send to your self
$to ="admin@admin.com";
$subject = 'System Email';
// message
$message = "<html>".
"<head>".
" <title>System Email</title>".
"</head>".
"<body>".
"message here!".
"</body>".
"</html>";
//get email list
//open database connection
$username = "root";
$password = ""; //input your password here.
$database = "dbase";
//connect to database
$link=mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die("<b>Unable to specified database</b>");
$query="SELECT email_address FROM db_other_details";
$result=mysql_query($query) or die('Error, query failed');
mysql_close($link);
$row=1;
$numrows=mysql_num_rows($result);
$bccfield="Bcc: ". mysql_result($result,0,"email_address");
while($row<$numrows)
{
$email=mysql_result($result,$row,"email_address");
$bccfield .= "," . $email; //seperate by comma
$row++;
}
$bccfield .= "\r\n";
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= $bccfield;
$headers .= 'From: System <admin@admin.com>' . "\r\n";
// Mail it
mail($to, $subject, $message,$headers);
if (mail($to,$subject,$message,$headers)) {
header("Location: ".WEBSITE_URL."email-all.html?result=success");
} else {
header("Location: ".WEBSITE_URL."email-all.html?result=failed");
}
}
switch (trim($_GET['result'])) {
case "failed":
$sendmail_result = "failed";
$form_message = "Cannot send email to " . $numrows . "registrants at this time. Please try again later.";
break;
case "success":
$sendmail_result = "success";
$form_message = "Email sent to" . $numrows ." registrants.";
}
有关如何执行此操作的任何建议?我在这里检查了一些其他主题,但没有任何帮助。
谢谢!
答案 0 :(得分:0)
答案 1 :(得分:0)
1)使用PDO。
2)确保您有关于php的错误消息。
3)var_dump / print_r你的变量&amp; GET请求查看数据是否可用。
4)检查mysql错误日志以查找潜在的查询错误。
5)UTF-8在使用php :: mail()函数发送数据之前对数据进行编码。