public function mailStore(Request $request) { if (!Helper::getMode()) { return redirect()->back()->withErrors(config('constants.DISABLE_MESSAGE')); } $validation = Validator::make($request->all(), ['from_address' => 'required|email', 'from_name' => 'required']); if ($validation->fails()) { return redirect()->back()->withInput()->withErrors($validation->messages()); } $mail_config = Helper::getMail(); $services = Helper::getServices(); $config_type = $request->input('config_type'); $mail_config['driver'] = $request->input('driver'); $mail_config['from']['address'] = $request->input('from_address'); $mail_config['from']['name'] = $request->input('from_name'); if ($request->input('driver') == 'smtp') { $mail_config['host'] = $request->input('host'); $mail_config['port'] = $request->input('port'); $mail_config['username'] = $request->input('username'); $mail_config['password'] = $request->input('password'); } elseif ($request->input('driver') == 'mandrill') { $services['mandrill']['secret'] = $request->input('mandrill_secret'); $filename = base_path() . config('paths.SERVICE_PATH'); File::put($filename, var_export($services, true)); File::prepend($filename, '<?php return '); File::append($filename, ';'); } elseif ($request->input('driver') == 'mailgun') { $services['mailgun']['secret'] = $request->input('mailgun_secret'); $services['mailgun']['domain'] = $request->input('mailgun_domain'); $filename = base_path() . config('paths.SERVICE_PATH'); File::put($filename, var_export($services, true)); File::prepend($filename, '<?php return '); File::append($filename, ';'); } $mail_config['encryption'] = 'tls'; $mail_config['sendmail'] = '/usr/sbin/sendmail -bs'; $mail_config['pretend'] = false; $filename = base_path() . config('paths.MAIL_PATH'); File::put($filename, var_export($mail_config, true)); File::prepend($filename, '<?php return '); File::append($filename, ';'); return redirect('/configuration#' . $config_type)->withSuccess(config('constants.SAVED')); }