findOrFail($formId); // select template $template = isset($form->moduleSettings['emailTemplate']) ? $form->moduleSettings['emailTemplate'] : 'contactform::emails.default'; $subject = isset($form->moduleSettings['subject']) ? $form->moduleSettings['subject'] : trans('contactform::admin/contents.defaultSubject'); $data = $request->except('_token', 'g-recaptcha-response'); Mail::to($form->moduleSettings['contactEmail']) ->send(new ContactFormMessage($data, $subject, Template::name($template))); // inform user about success or failure return $this->sendResponse($request, $form); } private function sendResponse(SendNewEmailRequest $request, $form) { // send response for ajax if ($request->ajax()) { return response()->json([ 'status' => 'success', 'redirectUrl' => $form->url ]); } else { // redirect user to previous form $response = redirect()->back(); return $response->with('success', 'sent'); } } }