我目前正在研究一个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*/
?>
答案 0 :(得分:3)
你可以使用你在那里的删除代码中的一些逻辑,但是你也可以通过调用db来获取你的信息来改进它:
<?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";
}
?>