0

forループの後の結果として2次元配列値を取得しています.値は$chunk[$i][$j].そして、その値をsetTo関数に渡すと、次のように表示されるエラー

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('marketplace@socialnetgate.com')
          ->setTo($mails)
          ->setReturnPath('gowtham@ephronsystems.com')
          ->setBody('Hello World');

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

1 に答える 1

1

あなたはこれを考えすぎていると思います。

受信者がお互いを認識せずにバッチメールを送信する方法に関するドキュメントを見ましたか? あなたのスニペットでは、各電子メールには最大 10 人の受信者が含まれています。これは、すべての受信者を送信するよりは良いかもしれませんが、それでもかなり悪いです。

特定の時間枠で送信できるメールの制限に達しないようにするには、バッチでのメールの送信とプラグインをご覧ください。

于 2013-05-14T20:28:29.577 に答える