Phpmailer多个邮件

时间:2014-01-11 13:36:21

标签: php email phpmailer

我正在尝试保存多个任务并为每个用户发送多封电子邮件。我的代码不久就是这样的:

<?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命令的。

1 个答案:

答案 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();
}