[英]Send multiple email for each user from database specific column
我正在使用PHPMailer。
我在email
列的users
表中记录用户email
。 我的表中也有category
列。 我想向这些用户发送电子邮件。 例如,我想向在category
列中具有tech
价值的用户发送电子邮件。 我可以这样做但是当我发送时, PHPMailer
发送我的电子邮件就像
first user -> first column email
second user -> first column email
second column email
third user -> first column email
second column email
third column email
我只想发送第一个user -> first column email
, second user -> second column email
。
我现在有这些代码。
<?php
require_once("class.phpmailer.php");
if($_POST['message']){
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->IsHTML(true);
$mail->Host = "host.name.net";
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->CharSet ="utf-8";
$mail->Username = "mail@mymail.com";
$mail->Password = "pass";
$mail->SetFrom("hi@mymail.com", "my mail name");
$categorychoose = $_POST['categorychoose'];
$query = (" SELECT email FROM users WHERE category LIKE '$categorychoose' ");
$result = mysql_query($query);
while( $data = mysql_fetch_assoc($result) )
{
$mail->AddAddress($data["email"]);
$mail->Subject = $_POST['subject'];
$mail->Body = $_POST['message'];
if(!$mail->Send())
{
echo "<h4>not send</h4>";
} else {
echo "<h4>send</h4>";
}
}
}
?>
我从您更新的代码中编辑了我以前的代码。
require_once("class.phpmailer.php");
if($_POST['message']){
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->IsHTML(true);
$mail->Host = "host.name.net";
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->CharSet ="utf-8";
$mail->Username = "mail@mymail.com";
$mail->Password = "pass";
$mail->SetFrom("hi@mymail.com", "my mail name");
$categorychoose = $_POST['categorychoose'];
$query = (" SELECT email FROM users WHERE category LIKE '$categorychoose' ");
$mail->Subject = $_POST['subject'];
$mail->Body = $_POST['message'];
$result = mysql_query($query);
while( $data = mysql_fetch_assoc($result) ){
$mail->AddAddress($data["email"]);
}
if(!$mail->Send()){
echo "<h4>not send</h4>";
} else {
echo "<h4>send</h4>";
}
}
此代码应该适合您。
尝试使用此代码以上循环。
while( $data = mysql_fetch_assoc($result) ){
#$mail->AddAddress($data["email"]); /*Common format*/
#$mail->addCC($data["email"]); /*List emails to recipient*/
$mail->addBCC($data["email"]); /*Never show List emails to recipient*/
}
注1: CC表示碳复制。 所有其他收件人将看到的以逗号分隔的更多收件人列表。
注2: BCC表示盲碳复制。 以逗号分隔的更多收件人列表,任何其他收件人都不会看到这些收件人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.