to = $to; $this->title = $title; $this->content = $content; } /** * Execute the job. * * @return void */ public function handle() { $body = $this->content; $title = $this->title; $sysConfig = cache('system-setting'); $mailConfig = [ 'driver' => $sysConfig['driver'] ?? 'smtp', 'host' => $sysConfig['host'] ?? '', 'port' => $sysConfig['port'] ?? '465', 'username' => $sysConfig['username'] ?? '', 'from' => [ 'address' => $sysConfig['from_address'] ?? '', 'name' => $sysConfig['from_name'] ?? '独角发卡' ], 'password' => $sysConfig['password'] ?? '', 'encryption' => $sysConfig['encryption'] ?? '' ]; $to = $this->to; // 覆盖 mail 配置 config([ 'mail' => array_merge(config('mail'), $mailConfig) ]); // 重新注册驱动 (new MailServiceProvider(app()))->register(); Mail::send(['html' => 'email.mail'], ['body' => $body], function ($message) use ($to, $title){ $message->to($to)->subject($title); }); } }