Laravel Mail Facade:如何分别发送给一系列收件人?

时间:2018-07-20 09:59:42

标签: php laravel email

我正在尝试确定如何通过Laravel的Mail外观将电子邮件发送给一组收件人(作为数组),但是我希望将这些电子邮件作为单独的电子邮件发送,而不是将所有收件人的电子邮件作为一个批量电子邮件发送将可见。

我有一系列电子邮件地址,$ attendees,验证通过后,电子邮件就会发送到该地址。解决此问题的一种方法是将“密件抄送”与“收件人”发送给$ attendees,但理想情况下,我希望将电子邮件“发送给”每个收件人。

首先,下面的代码块可以正常工作,并且可以通过电子邮件成功发送$ attendees数组-但同样,他们都一起接收了电子邮件,并能够查看其他电子邮件地址/电子邮件的集合收件人在收到电子邮件时在“收件人”字段中,我不希望这样。

  if ($validator->fails()) {
      $messages = $validator->messages();
      return Redirect::to(URL::previous())
          ->withErrors($validator)
          ->with('subject', $mailDetails['subject'])
          ->with('body', $body)
          ->with('eventId', $eventId);
  } else {
      Mail::send('emails.event_attendees', $mailBody, function($m) use ($mailDetails) {
          $m->from('noreply@helpinghabit.com', $mailDetails['orgName']);
          $m->to($mailDetails['attendees']);
          $m->bcc($mailDetails['sender']);
          $m->subject($mailDetails['subject']);
      });
      return redirect()->back()->with('message', "Your email has been sent!");
  };

我尝试使用如下所示的foreach循环来完成此操作:

  if ($validator->fails()) {
      $messages = $validator->messages();
      return Redirect::to(URL::previous())
          ->withErrors($validator)
          ->with('subject', $mailDetails['subject'])
          ->with('body', $body)
          ->with('eventId', $eventId);
  } else {
    foreach ($attendees as $k) {
      Mail::send('emails.event_attendees', $mailBody, function($m) use ($mailDetails) {
          $m->from('noreply@helpinghabit.com', $mailDetails['orgName']);
          $m->to($attendees[$k]);
          $m->bcc($mailDetails['sender']);
          $m->subject($mailDetails['subject']);
      });
    };
    return redirect()->back()->with('message', "Your email has been sent!");
  };

...但是这将返回一个空的响应错误,并告诉我没有数据发送。

有什么想法吗?预先感谢您的帮助!

0 个答案:

没有答案