PHPmailer - многократная отправка электронной почты

Я отправляю электронные письма, используя PHPmailer. На данный момент я успешно отправляю электронную почту на один адрес. Теперь я хочу отправить несколько писем одним щелчком мыши.

ПРОБЛЕМАЯ пытался использовать несколько циклов ниже, чтобы отправить несколько электронных писем, но я получаю неправильный ответ. Да, он отправляет электронную почту, но только на один адрес, и на адрес электронной почты поступают все электронные письма, которые должны быть отправлены на другие электронные письма.

Например, когда я отправляю 17 писем, эти 17 писем отправляются только на один адрес.Письма должны быть отправлены в соответствии с адресами в базе данных, с соответствующими уникальными приложениями. Пример: [email protected] должен иметь прикрепленный файл abc.pdf, а [email protected] должен иметь вложенный 123.pdf.

Я думаю, что это в цикле. Пожалуйста, помогите мне разобраться. Благодарю.

require_once('phpmailer/class.phpmailer.php');
include("phpmailer/class.smtp.php"); 

$mail             = new PHPMailer();

$body             = file_get_contents('phpmailer/body.html');
$body             = preg_replace('/\/b]/','',$body);

$file ='phpmailer/mailpass.txt';
    if($handle = fopen($file,"r")){
        $contentpass = fread($handle,'15');
        fclose($handle);
        }

$mail->IsSMTP(); 
$mail->Host       = "smtp.gmail.com"; 
$mail->SMTPDebug  = 1;                   

$mail->SMTPAuth   = true;                  
$mail->SMTPSecure = "tls";                 
$mail->Host       = "smtp.gmail.com";      
$mail->Port       = 587;                   
$mail->Username   = "[email protected]";  
$mail->Password   = $contentpass;           

$mail->SetFrom("[email protected]", "Subject");

$mail->AddReplyTo("[email protected]","Subject");

$mail->Subject    = "Subjects";

$mail->AltBody    = "Subject";

$mail->MsgHTML($body);


$file='current_schoolyear.txt';
    if($handle = fopen($file,"r"))
    {
        $content = fread($handle,'9');
            fclose($handle);
    }



$input = addslashes($_POST['depchair']);                        


$email = "select email_address  from sa_student where schoolyear = '$input'"; 



if ($p_address=mysql_query($email))
{ 



  while($row = mysql_fetch_assoc($p_address))
  {



    $mail->AddAddress($row['email_address']);

    $input = addslashes($_POST['depchair']);                                                                                    

    $control = "select control_no  from sa_student where schoolyear = '$input'";

    if($ctrl=mysql_query($control)){

        $ctrl_no = mysql_result($ctrl, 0);


        $mail->AddAttachment("fpdf/pdf_reports/document/".$ctrl_no.".pdf");  


    }
    else
    {

        echo "No attached document.";

    }

            if(!$mail->Send()) {
                    $message = "<div class=\"nNote nFailure\" >
                                    <p>Error sending email. " . $mail->ErrorInfo ."</p>
                                </div>";

            } else { 
                    $message = "<div class=\"nNote nSuccess\" >
                                    <p> Email have been sent to the examinees in ".$input_depchair. "! </p>
                                </div>";                            

                        }



       }

    }



else
{
    echo (mysql_error ());
}

ОБНОВЛЕННЫЙ КОД: После запуска приведенного ниже кода я смог отправить электронное письмо с правильным вложением. Однако было отправлено только ОДНОМ электронное письмо (последний адрес электронной почты в базе данных), а остальные письма не были отправлены.

$input = addslashes($_POST['depchair']);                        


$email = "select email_address, control_no  from sa_student where schoolyear = '$input'"; 



if ($p_address=mysql_query($email))
{ 



  while($row = mysql_fetch_assoc($p_address))
  {

    $cloned = clone $mail;

    $cloned->AddAddress($row['email_address']);




        $cloned->AddAttachment("fpdf/pdf_reports/document/".$row['control_no'].".pdf");  




            if(!$cloned->Send()) {
                    $message = "<div class=\"nNote nFailure\" >
                                    <p>Error sending email. " . $mail->ErrorInfo ."</p>
                                </div>";

            } else { 
                    $message = "<div class=\"nNote nSuccess\" >
                                    <p> Email have been sent to the examinees in ".$input_depchair. "! </p>
                                </div>";                            

                        }
unset( $cloned );


       }

    }



else
{
    echo (mysql_error ());
}

Ответы на вопрос(2)

Ваш ответ на вопрос