Laravel 正在向所有选中的复选框发送电子邮件

Laravel Sending email to all selected checkboxes

我正在一次性向所有成员发送电子邮件。现在我正在尝试向选定的用户发送电子邮件。我怎样才能做到这一点?

这是我现有的 mailController

public function send_mail()
{
    $joinus = new Joinus;
    $mails = Joinus::all();
    $array = array();

    foreach ($mails as $mail)
    {
        array_push($array, $mail->email);

    };

    Mail::to($array)->send(new SendMail($joinus->email))->delay(60);

我正在从 Joinus 模型中获取所有用户。将它们添加到数组并向所有子数组发送电子邮件。我需要将 smt 添加到 SendMail 吗?还是我必须使用 jquery?如果有人给我代码示例,我会很高兴。这不是什么难问的问题。但我就是没弄明白。

这也是复选框的位置

@can('delete',app($dataType->model_name))
  <td>
    <input type="checkbox" name="row_id" id="checkbox_{{ $data->getKey() }}" value="{{ $data->getKey() }}">
   </td>
@endcan

您的 send_mail() 方法应更改为:

public function send_mail(Request $request)
{
    $mails = Joinus::whereIn('id', $request->input('row_id'))->pluck('email');
    Mail::to($mails)->send(new SendMail($joinus->email))->delay(60)
}

这将 select 已检查 ID 的所有电子邮件(来自您的前端)。

您的 input[type=checkbox]name 属性应该更改为 row_id[],因此它是一个数组并具有多个值(哪些是您记录的 ID?)。

并设置 Laravel 以根据您打算使用的驱动程序的文档发送电子邮件:more info at the official documentation