отправить письмо нескольким получателям не работает - PullRequest
0 голосов
/ 23 марта 2020

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

Я помещаю письмо, полученное из базы данных, в переменную массива $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 Ответ

0 голосов
/ 23 марта 2020

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

   //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';
     }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...