芝麻web文件管理V1.00
编辑当前文件:/home/sditechnicalteam/public_html/app/Http/Controllers/SmtpSettingController.php
pageTitle = 'app.menu.notificationSettings'; $this->activeSettingMenu = 'notification_settings'; $this->middleware(function ($request, $next) { abort_403(user()->permission('manage_notification_setting') !== 'all'); return $next($request); }); } /** * XXXXXXXXXXX * * @return \Illuminate\Http\Response */ // phpcs:ignore public function update(UpdateSmtpSetting $request, $id) { // save all email notification settings $this->saveEmailNotificationSettings($request); $smtp = SmtpSetting::first(); $data = $request->all(); if ($request->mail_encryption == 'null') { $data['mail_encryption'] = null; } $smtp->update($data); $response = $smtp->verifySmtp(); session(['smtp_setting' => $smtp]); session()->forget('email_notification_setting'); if ($smtp->mail_driver == 'mail') { return Reply::success(__('messages.settingsUpdated')); } if ($response['success']) { return Reply::success($response['message']); } // GMAIL SMTP ERROR $message = __('messages.smtpError') . '
'; if ($smtp->mail_host == 'smtp.gmail.com') { $secureUrl = 'https://froiden.freshdesk.com/support/solutions/articles/43000672983'; $message .= __('messages.smtpSecureEnabled'); $message .= '
' . $secureUrl . '
'; $message .= '
' . $response['message']; return Reply::error($message); } return Reply::error($message . '
' . $response['message']); } public function saveEmailNotificationSettings($request) { EmailNotificationSetting::where('send_email', 'yes')->update(['send_email' => 'no']); if ($request->send_email) { EmailNotificationSetting::whereIn('id', $request->send_email)->update(['send_email' => 'yes']); } } public function showTestEmailModal() { return view('notification-settings.send-test-mail-modal', $this->data); } public function sendTestEmail(Request $request) { $request->validate([ 'test_email' => 'required|email:rfc', ]); $smtp = SmtpSetting::first(); $response = $smtp->verifySmtp(); if ($response['success']) { Notification::route('mail', \request()->test_email)->notify(new TestEmail()); return Reply::success(__('messages.testMailSentSuccessfully')); } return Reply::error($response['message']); } }