【问题标题】:send multiple emails to different users in laravel在 laravel 中向不同的用户发送多封电子邮件
【发布时间】:2017-09-06 22:04:37
【问题描述】:

我使用请求数组获取不同的 ID:

  <label for="students" class="students">Students</label>
  <select name="students[]" class="form-control select2-multi" multiple="multiple">
  @foreach($students as $student)
     <option value="{{ $student->id }}" >{{ $student->first_name }}</option>
  @endforeach
 </select>

我能够正确获取 ID。现在的问题是我如何通过请求将邮件发送给所选的学生(用户)

我想到了一个 for 循环,但我似乎没有解决它。 谢谢大家

【问题讨论】:

  • 前端不应该发送电子邮件,它应该是发送电子邮件的后端。请提供更多信息。

标签: php jquery laravel email oop


【解决方案1】:

如果您有很多学生(数百人以上),我建议您使用队列。对于 Laravel,GiHub 上有很多解决方案。

【讨论】:

  • 您能否阐明“使用队列”的含义(也许,通过添加链接以获取更多信息)?另外,您能否提供指向 GitHub 上解决方案的示例链接?
【解决方案2】:

在处理表单提交的控制器中,您将遍历选定的用户,然后您将能够使用Mail facade 通过您当前的电子邮件驱动程序发送电子邮件。

public function formSubmission(Request $request){
    $emails = $request->input('students');
    foreach($emails as $email){
        \Mail::to($email)->send(new EmailMessage());
    }
}

如果您想首先找到与该电子邮件相关联的用户并将其传递到 Mail 门面,那么您只需进行查询并循环遍历这些结果。

public function formSubmission(Request $request){
    $emails = $request->input('students');
    $users = User::whereIn('email', $emails)->get();
    foreach($users as $user){
        \Mail::to($user)->send(new EmailMessage());
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-17
    • 2020-04-16
    • 2011-02-08
    • 1970-01-01
    • 2014-11-26
    相关资源
    最近更新 更多