отправить письмо нескольким получателям не работает

Я пытаюсь отправить письмо нескольким получателям, но не работает. Это работает, когда я отправляю его только одному получателю. Я поместил адрес электронной почты в переменную массива.

Я поместил письмо, полученное из базы данных, в переменную массива $dt . Здесь содержится $dt

  array(3) { [0]=> string(21) "a@gmail.com" [1]=> string(21) "b@gmail.com" [2]=> string(24) "c@gmail.com" }

Я попробую это

   //get email from database
   $mail = $this->Hire_model->get_email_recruiter();
      $dt = array();
      for ($i=0; $i < (count($mail)-1) ; $i++) { 
        if ($mail[$i+1]['Email'] == '') {
          $dt[$i] = 'hr.movement@gmail.com'
        }else{
          $dt[$i] = $mail[$i+1]['Email'];
        }       
      }

    //Load PHPMailer Library
     $this->load->library('phpmailer_lib');

     //PHPMailer object
     $mail = $this->phpmailer_lib->load();

     //SMTP configuration
     $mail->isSMTP();
     $mail->Host = 'smtp.gmail.com'
     $mail->SMTPAuth = true;
     $mail->Username = 'hire.movement@gmail.com'
     $mail->Password = '********'
     $mail->SMTPSecure = 'tls'
     $mail->Port = 587;

     $mail->setFrom('info@codexworld.com', 'KompasGramedia');
     $mail->addReplyTo('info@example.com', 'KompasGramedia');

     //Add a recipient
     $mail->addAddress($dt);

     // Email Subject
     $requestor = $this->session->userdata('FullName');
           $mail->Subject = 'Request Promotion by '.$requestor;

     // Set email format to HTML
     $mail->isHTML(true);

     $mailContent = 'Messages'
     $mail->Body = $mailContent;
      // Send email
     if(!$mail->send()){
       echo 'Message could not be sent.'
       echo 'Mailer Error: ' . $mail->ErrorInfo;
     }else{
       echo 'Message has been sent'
     }

Я не знаю, почему это не работает, когда я использую более 1 получателя электронной почты. Может кто-нибудь мне помочь??

Всего 1 ответ


Попробуйте добавить каждого получателя почты в цикле, например так:

   //get email from database
   $mail = $this->Hire_model->get_email_recruiter();
      $dt = array();
      for ($i=0; $i < (count($mail)-1) ; $i++) { 
        if ($mail[$i+1]['Email'] == '') {
          $dt[$i] = 'hr.movement@gmail.com'
        }else{
          $dt[$i] = $mail[$i+1]['Email'];
        }       
      }

    //Load PHPMailer Library
     $this->load->library('phpmailer_lib');

     //PHPMailer object
     $mail = $this->phpmailer_lib->load();

     //SMTP configuration
     $mail->isSMTP();
     $mail->Host = 'smtp.gmail.com'
     $mail->SMTPAuth = true;
     $mail->Username = 'hire.movement@gmail.com'
     $mail->Password = '********'
     $mail->SMTPSecure = 'tls'
     $mail->Port = 587;

     $mail->setFrom('info@codexworld.com', 'KompasGramedia');
     $mail->addReplyTo('info@example.com', 'KompasGramedia');

     //Add a recipient(s)
     foreach($dt as $recipient) {
         $mail->addAddress($recipient);
     }

     // Email Subject
     $requestor = $this->session->userdata('FullName');
           $mail->Subject = 'Request Promotion by '.$requestor;

     // Set email format to HTML
     $mail->isHTML(true);

     $mailContent = 'Messages'
     $mail->Body = $mailContent;
      // Send email
     if(!$mail->send()){
       echo 'Message could not be sent.'
       echo 'Mailer Error: ' . $mail->ErrorInfo;
     }else{
       echo 'Message has been sent'
     }

Есть идеи?

10000