From 8c80e70696e56e6e989cd9d312dc146ee3a6cb18 Mon Sep 17 00:00:00 2001 From: Wisp X Date: Mon, 14 Feb 2022 14:35:04 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E5=A2=9E=E5=8A=A0=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E9=82=AE=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Admin/SettingController.php | 12 +++++++ public/css/app.css | 4 +++ resources/views/admin/setting/index.blade.php | 31 +++++++++++++++++++ resources/views/emails/test.blade.php | 3 ++ routes/web.php | 1 + 5 files changed, 51 insertions(+) create mode 100644 resources/views/emails/test.blade.php diff --git a/app/Http/Controllers/Admin/SettingController.php b/app/Http/Controllers/Admin/SettingController.php index a7cf2746..1330a677 100644 --- a/app/Http/Controllers/Admin/SettingController.php +++ b/app/Http/Controllers/Admin/SettingController.php @@ -3,11 +3,13 @@ namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; +use App\Mail\Test; use App\Models\Config; use App\Utils; use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Mail; use Illuminate\View\View; class SettingController extends Controller @@ -26,4 +28,14 @@ class SettingController extends Controller Cache::flush(); return $this->success('保存成功'); } + + public function mailTest(Request $request): Response + { + try { + Mail::to($request->post('email'))->send(new Test()); + } catch (\Throwable $e) { + return $this->error($e->getMessage()); + } + return $this->success('发送成功'); + } } diff --git a/public/css/app.css b/public/css/app.css index 09e64ac5..99753afb 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -1333,6 +1333,10 @@ select { --tw-bg-opacity: 1; background-color: rgb(234 179 8 / var(--tw-bg-opacity)); } +.bg-yellow-200 { + --tw-bg-opacity: 1; + background-color: rgb(254 240 138 / var(--tw-bg-opacity)); +} .bg-opacity-75 { --tw-bg-opacity: 0.75; } diff --git a/resources/views/admin/setting/index.blade.php b/resources/views/admin/setting/index.blade.php index 7640faba..bf45029a 100644 --- a/resources/views/admin/setting/index.blade.php +++ b/resources/views/admin/setting/index.blade.php @@ -118,6 +118,7 @@
+ 测试 保存更改
@@ -146,6 +147,36 @@ toastr[response.data.status ? 'success' : 'error'](response.data.message) }); }); + + $('#mail-test').click(function () { + Swal.fire({ + title: '请输入接收测试邮件的邮箱', + input: 'text', + inputValue: '', + inputAttributes: { + type: 'email', + autocapitalize: 'off' + }, + showCancelButton: true, + confirmButtonText: '确认', + showLoaderOnConfirm: true, + preConfirm: (value) => { + return axios.post('{{ route('admin.settings.mail.test') }}', { + email: value, + }).then(response => { + if (! response.data.status) { + throw new Error(response.data.message) + } + return response.data; + }).catch(error => Swal.showValidationMessage(error)); + }, + allowOutsideClick: () => !Swal.isLoading() + }).then((result) => { + if (result.isConfirmed) { + toastr[result.value.status ? 'success' : 'warning'](result.value.message); + } + }) + }); @endpush diff --git a/resources/views/emails/test.blade.php b/resources/views/emails/test.blade.php new file mode 100644 index 00000000..e8342e02 --- /dev/null +++ b/resources/views/emails/test.blade.php @@ -0,0 +1,3 @@ +

+ 您好,这是一封来自 {{ \App\Utils::config(\App\Enums\ConfigKey::SiteName) }} 的测试邮件,当您看到这封邮件后,说明邮件配置正确。如果不是您本人操作,请忽略。 +

diff --git a/routes/web.php b/routes/web.php index ce736444..30a044af 100644 --- a/routes/web.php +++ b/routes/web.php @@ -84,6 +84,7 @@ Route::group(['prefix' => 'admin', 'middleware' => ['auth.admin']], function () Route::group(['prefix' => 'settings'], function () { Route::get('', [AdminSettingController::class, 'index'])->name('admin.settings'); Route::put('save', [AdminSettingController::class, 'save'])->name('admin.settings.save'); + Route::post('mail-test', [AdminSettingController::class, 'mailTest'])->name('admin.settings.mail.test'); }); });