0

メールの送信でに置き換えるsendとエラーが発生しました。queueこれが私のコードです:

foreach ($recs as $rec)
{
     $em = $rec->email;

      Mail::queue('emails.newsletter',$data,
              function($message) use(&$em) {
              $message->to($em)->subject('Newsletter | Bla Bla');
      });   
}

私のメール ドライバーは smtp で、ホストはrelay-hosting.secureserver.netgodaddy のものです。

Mail::sendではなく使用するとうまくいきますMail::queue

4

2 に答える 2

0

使用されているすべての電子メールが有効であることを考慮すると、foreach で & 演算子 (参照) を使用していて、後で設定を解除しないために発生すると推測されます。

 Reference of a $value and the last array element remain even after the foreach loop. It is recommended to destroy it by unset().

後でジョブを消費する可能性が最も高いキューを使用している間 (::send のように即座にではなく)、必要なものをフェッチしていません (参照が混乱しているため) - そのため、メーラーに空のメールアドレスをフィードします - そのため、検証エラーを取得します。

まず、参照はまったく必要ないと思うので、 & 演算子を削除してください

function($message) use($em) {

次に、ここを読んでください参照と foreach

于 2013-09-11T06:42:03.990 に答える