我正在尝试保存多个任务并为每个用户发送多封电子邮件。我的代码不久就是这样的:
<?php
//Save All
foreach($_POST['decode'] as $dcode){
$sec = mysql_query("SELECT owner,mcode FROM members WHERE mcode='$dcode' ORDER BY id ASC");
while($list = mysql_fetch_array($sec)){$mcode=$list[mcode];$owner=$list[owner];}
if (mysql_query ("INSERT INTO tasks (tcode,adder,tdt,title,mcode,subject)
values ('$tcode','$adder','$tdt','$title','$mcode','$subject')")){
echo $owner.' done.<br>';header ("refresh: 5; url=members.php");
//Send info
include("scripts/class.phpmailer.php");
//To who
$sec = mysql_query("SELECT name,em FROM members WHERE mcode='$mcode' ORDER BY id ASC");
while($list = mysql_fetch_array($sec)){$name = $list[name];$em = $list[em];}
//Sender
$sec = mysql_query("SELECT owner FROM members WHERE mcode='$owner' ORDER BY id ASC");
while($list = mysql_fetch_array($sec)){$owner = $list[owner];}
$mail= new PHPMailer();
$mail->AddAddress($em , $name);
$mail->Subject=$owner."has send mail";
$mail->Body="content";
$mail->IsSMTP();
$mail->Host="host.host.com";
$mail->SMTPAuth=true;
$mail->Username="username";
$mail->Password="pass";
$mail->IsHTML(true);
$mail->From="sendermail";
$mail->FromName="Sender";
$mail->Port="587";
$done=$mail->Send();
// Check Mail
if(!$done){echo "Error! Mail not send";}else{echo "Mail send";}
}else{echo "Not Saved";}
}//Save All
?>
它保存了任务。并发送一封邮件。但我无法为每项任务发送多封电子邮件。
Phpmailer发送错误:无法声明类 我已经尝试过这种错误:
if(class_exists('PHPMailer') != true){$mail= new PHPMailer();}
它表示调用成员函数AddAddress() 我试过这种方式:
$mail->ClearAddresses();
我认为我会把代码放到错误的区域。你可以帮我解决这个问题。 我搜索过“堆栈”并尝试了一些方法。但他们并没有在我的工作。 我认为这是关于foreach命令的。
答案 0 :(得分:2)
//Sender
$sec = mysql_query("SELECT owner FROM members WHERE mcode='$owner' ORDER BY id ASC");
while($list = mysql_fetch_array($sec))
{
$owner = $list[owner];
}
$mail= new PHPMailer();
$mail->Body="content";
$mail->Subject=$owner."has send mail";
$mail->IsSMTP();
$mail->Host="host.host.com";
$mail->SMTPAuth=true;
$mail->Username="username";
$mail->Password="pass";
$mail->IsHTML(true);
$mail->From="sendermail";
$mail->FromName="Sender";
$mail->Port="587";
//To who
$sec = mysql_query("SELECT name,em FROM members WHERE mcode='$mcode' ORDER BY id ASC");
while($list = mysql_fetch_assoc($sec))
{
$email = $list['em'];
$mail->ClearAddresses();
$mail->AddAddress($email);
$mail->Send();
}