2013-05-14 1 views
0

Я получаю значение 2-мерного массива в результате после цикла for. Значение $chunk[$i][$j]. И когда я передал это значение в функцию setTo, ошибка, указанная какКак передать значение 2-мерного массива в быстром наборе почтовых отправлений. Функция

Warning: preg_match() expects parameter 2 to be string, array given in H:\xampp \htdocs\sngmarket\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Mime\Headers \MailboxHeader.php line 350.

Как решить эту проблему? .Здесь мой код

$query = $em->createQuery("SELECT DISTINCT u.emailaddress FROM AcmeRegistrationBundle:userlist u"); 
    $grp_emails[] = $query->getResult(); 

    $chunk = array_chunk($grp_emails, 10); 
    $get_chunk_count = count($chunk); 

    for($i=0;$i<$get_chunk_count;$i++) 
    { 
    $count_inside_count = count($chunk[$i]); 
     for($j=0;$j<=$count_inside_count;$j++) 
     { 
     $mails=$chunk[$i][$j]; 

     $message = \Swift_Message::newInstance() 
      ->setSubject('Hello Email') 
      ->setFrom('[email protected]') 
      ->setTo($mails) 
      ->setReturnPath('[email protected]') 
      ->setBody('Hello World'); 

      $this->get('mailer')->send($message); 
      return array(); 
     } 
    } 
+0

Можете ли вы var_dump свой '$ chunk'? –

ответ

0

Я думаю, что вы overthinking это.

Вы просмотрели документацию о том, как отправлять пакетные письма БЕЗ получателей, которые знают друг о друге? В вашем фрагменте каждый адрес электронной почты содержит до 10 получателей, что может быть лучше, чем отправка всех получателей, но все еще довольно плохо.

Посмотрите на Sending emails in batch, а также на plugins, чтобы убедиться, что вы не достигли предела в электронной почте, которую вы можете отправить в определенный период времени.

+0

Большое спасибо за ур ответ ... Это очень просто ... В последние дни я много боролся ... –

 Смежные вопросы

  • Нет связанных вопросов^_^