MailService.php 868 B

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: nayo
  5. * Date: 2018/6/6
  6. * Time: 下午4:04
  7. */
  8. namespace App\Services;
  9. use App\Jobs\SendEmail;
  10. use App\Mail\GlobalMail;
  11. use Illuminate\Support\Facades\Mail;
  12. class MailService
  13. {
  14. /**
  15. * 通用发送邮件服务
  16. * @param string $email 发送邮件地址
  17. * @param string $subject 邮件主题
  18. * @param array $data 邮件内容数据
  19. * @param string $blade 邮件模板
  20. * @param string $type 默认async异步队列,否则为同步
  21. */
  22. public static function sendMail($email, $subject, $data=[], $blade='common',$type='async')
  23. {
  24. if ($type == 'async'){
  25. SendEmail::dispatch($email, $subject, $data, $blade)->onQueue('global_email_queue');
  26. }else{
  27. Mail::to($email)->send(new GlobalMail($blade,$subject,$data));
  28. }
  29. return;
  30. }
  31. }