如何使用PHP发送多个电子邮件

时间:2013-01-21 06:22:31

标签: mysql php

我有一个按钮,当按下该按钮时,它会通过电子邮件发送数据库中电子邮件的更新。

这是我的代码。我也从一个论坛得到了这个,但我不知道它没有收到数据库中的电子邮件有什么不对:

$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.";
}

有关如何执行此操作的任何建议?我在这里检查了一些其他主题,但没有任何帮助。

谢谢!

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

1)使用PDO。

2)确保您有关于php的错误消息。

3)var_dump / print_r你的变量&amp; GET请求查看数据是否可用。

4)检查mysql错误日志以查找潜在的查询错误。

5)UTF-8在使用php :: mail()函数发送数据之前对数据进行编码。