MailController.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Requests\Admin\MailSend;
  4. use Illuminate\Http\Request;
  5. use App\Http\Controllers\Controller;
  6. use App\Models\User;
  7. use App\Jobs\SendEmail;
  8. class MailController extends Controller
  9. {
  10. public function send(MailSend $request)
  11. {
  12. if ($request->input('type') == 2 && empty($request->input('receiver'))) {
  13. abort(500, '收件人不能为空');
  14. }
  15. if ($request->input('receiver')) {
  16. $users = User::whereIn('id', $request->input('receiver'))->get();
  17. } else {
  18. $users = User::all();
  19. }
  20. foreach ($users as $user) {
  21. SendEmail::dispatch([
  22. 'email' => $user->email,
  23. 'subject' => $request->input('subject'),
  24. 'template_name' => 'mail.sendEmailCustom',
  25. 'template_value' => [
  26. 'name' => config('v2board.app_name', 'V2Board'),
  27. 'url' => config('v2board.app_url'),
  28. 'content' => $request->input('content')
  29. ]
  30. ])->onQueue('other_mail');
  31. }
  32. return response([
  33. 'data' => true
  34. ]);
  35. }
  36. }