使用phpMailer将电子邮件从数据库通过复选框发送到选定的电子邮件地址

使用phpMailer将电子邮件从数据库通过复选框发送到选定的电子邮件地址,php,mysql,checkbox,phpmailer,Php,Mysql,Checkbox,Phpmailer,我目前正在开发一个php mysql基础系统,该系统将使用复选框从数据库向多个收件人发送电子邮件 如何使用“全部检查”功能向这些收件人发送电子邮件 这是我的phpMailer代码,工作正常 <?php require("class.phpmailer.php"); include("class.smtp.php"); $mailer = new PHPMailer(); $mailer->IsSMTP(); $mailer->Host = 'ssl://smtp.gmail.c

我目前正在开发一个php mysql基础系统,该系统将使用复选框从数据库向多个收件人发送电子邮件

如何使用“全部检查”功能向这些收件人发送电子邮件

这是我的phpMailer代码,工作正常

<?php
require("class.phpmailer.php");
include("class.smtp.php");
$mailer = new PHPMailer();
$mailer->IsSMTP();
$mailer->Host = 'ssl://smtp.gmail.com:465';
$mailer->SMTPAuth = TRUE;
$mailer->Username = 'myemail@gmail.com';
$mailer->Password = 'mypassword';
$mailer->From = 'myemail@gmail.com';
$mailer->FromName = 'Admin';
$mailer->Body = 'TEST EMAIL';
$mailer->Subject = 'This is the subject of the email';
$mailer->AddAddress('myrecipient@yahoo.com');
if(!$mailer->Send())
{
echo "Message was not sent<br/ >";
echo "Mailer Error: " . $mailer->ErrorInfo;
}
else
{
 echo "Message has been sent";
}
?>

我当前在系统中使用的另一个示例代码用于使用复选框功能从数据库中删除用户:

<?php
/*Check Box Commands*/
$id=$row_notification['user_id'];

if(isset($_POST['Delete'])) {
$checkbox = $_POST['checkbox'];
mysql_select_db($database_connection_ched, $connection_ched);
$id=$row_notification['user_id'];

for($i=0;$i<count($checkbox);$i++)
        {
            $delete = "DELETE FROM tb_user WHERE user_id=$checkbox[$i]";
            mysql_query($delete,$connection_ched);
        }
$result2 = mysql_query($delete);

    if($result2)
    {
    echo "<script language='javascript'>alert ('Successfully Deleted');</script>";
    echo "<meta http-equiv=\"refresh\" content=\"0;URL=notification.php?\">";   }
}
/*End of Checkbox Commands*/
?>

您可以使用删除代码中的一些逻辑,但您也可以通过向数据库打一个电话来获取您的信息来改进这一点:

<?php
require("class.phpmailer.php");
include("class.smtp.php");
$mailer = new PHPMailer();
$mailer->IsSMTP();
$mailer->Host = 'ssl://smtp.gmail.com:465';
$mailer->SMTPAuth = TRUE;
$mailer->Username = 'myemail@gmail.com';
$mailer->Password = 'mypassword';
$mailer->From = 'myemail@gmail.com';
$mailer->FromName = 'Admin';
$mailer->Body = 'TEST EMAIL';
$mailer->Subject = 'This is the subject of the email';

// get checkbox ids posted to us
$checkbox_ids = $_POST["checkbox"];

// get email addresses from db based on checkboxes posted to us
$query = "select email from tb_user where user_id in(".join(",",$checkbox_ids).")";

// connect to db and run query
mysql_select_db($database_connection_ched, $connection_ched);
$result = mysql_query($query);
while( $data = mysql_fetch_assoc($result) )
{
    // make SURE we are not sending this to each and every recipient incrementally.
    // alternately, you can use $mailer->ClearAllRecipients(); <-- this will clear cc and bcc as well
    $mailer->ClearAddresses();
    // send it to THIS user...
    $mailer->AddAddress($data["email"]);


    print ($mailer->Send()) ? "Message sent to: " : "Message <b>not</b> sent to: ";
    print $data["email"]."<br />\n";
}

?>


如果您能够检索要显示在复选框列表中的电子邮件地址列表,那么您已经获得了所需的几乎所有内容。表单提交回所选电子邮件地址的ID(或任何内容),然后您将邮件发送给他们…一个附加问题。如何合并这两个对象(mailer和delete函数),以便在一个按钮中调用这两个函数。例如,如果我单击“删除”或其他类似激活的功能(具有类似的删除逻辑),它也会向收件人发送电子邮件?您可以传递所单击按钮的名称(例如“邮件”或“删除”),并在继续操作之前检查该值。或者,您可以使用另一个名为“删除”的复选框,在对该用户采取操作之前,您可以检查$\u POST数组中是否存在该复选框。