user(); $company = $user->company(); config([ 'mail.mailers.smtp' => [ 'transport' => 'smtp', 'host' => $request->input('smtp_host', $company->smtp_host), 'port' => $request->input('smtp_port', $company->smtp_port), 'username' => $request->input('smtp_username', $company->smtp_username), 'password' => $request->input('smtp_password', $company->smtp_password), 'encryption' => $request->input('smtp_encryption', $company->smtp_encryption ?? 'tls'), 'local_domain' => $request->input('smtp_local_domain', strlen($company->smtp_local_domain) > 2 ? $company->smtp_local_domain : null), 'verify_peer' => $request->input('verify_peer', $company->smtp_verify_peer ?? true), 'timeout' => 5, ], ]); (new \Illuminate\Mail\MailServiceProvider(app()))->register(); try { Mail::to($user->email, $user->present()->name())->send(new TestMailServer('Email Server Works!', strlen($company->settings->custom_sending_email) > 1 ? $company->settings->custom_sending_email : $user->email)); } catch (\Exception $e) { app('mail.manager')->forgetMailers(); return response()->json(['message' => $e->getMessage()], 400); } app('mail.manager')->forgetMailers(); return response()->json(['message' => 'Ok'], 200); } }