AutospamNotifyAdminViaEmail.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace App\Jobs\ReportPipeline;
  3. use Illuminate\Bus\Queueable;
  4. use Illuminate\Contracts\Queue\ShouldBeUnique;
  5. use Illuminate\Contracts\Queue\ShouldQueue;
  6. use Illuminate\Foundation\Bus\Dispatchable;
  7. use Illuminate\Queue\InteractsWithQueue;
  8. use Illuminate\Queue\SerializesModels;
  9. use App\Mail\AdminNewAutospam;
  10. use Illuminate\Support\Facades\Mail;
  11. use Illuminate\Support\Str;
  12. class AutospamNotifyAdminViaEmail implements ShouldQueue
  13. {
  14. use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
  15. public $report;
  16. /**
  17. * Create a new job instance.
  18. *
  19. * @return void
  20. */
  21. public function __construct($report)
  22. {
  23. $this->report = $report;
  24. }
  25. /**
  26. * Execute the job.
  27. *
  28. * @return void
  29. */
  30. public function handle()
  31. {
  32. $addresses = config('instance.reports.email.to');
  33. if(config('instance.reports.email.enabled') == false || empty($addresses) || !config('instance.reports.email.autospam')) {
  34. return;
  35. }
  36. if(strpos($addresses, ',')) {
  37. $to = explode(',', $addresses);
  38. } else {
  39. $to = $addresses;
  40. }
  41. Mail::to($to)->send(new AdminNewAutospam($this->report));
  42. }
  43. }