From 61a9139bf08352a03ef62cdb89ae0c11231b0a97 Mon Sep 17 00:00:00 2001 From: Timo Schwarzer Date: Tue, 15 Oct 2019 18:41:08 +0200 Subject: [PATCH] Add feature to send test e-mails --- app/Http/Controllers/SettingController.php | 17 +++++++++++++++++ app/Notifications/TestEmail.php | 18 ++++++++++++++++++ resources/lang/en/settings.php | 7 +++++++ resources/views/settings/maintenance.blade.php | 16 +++++++++++++++- routes/web.php | 1 + 5 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 app/Notifications/TestEmail.php diff --git a/app/Http/Controllers/SettingController.php b/app/Http/Controllers/SettingController.php index 1146f22c7..f0a078300 100644 --- a/app/Http/Controllers/SettingController.php +++ b/app/Http/Controllers/SettingController.php @@ -1,6 +1,7 @@ withInput(); } + + /** + * Action to send a test e-mail to the current user. + * @param Request $request + * @param User $user + * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector + */ + public function sendTestEmail(Request $request) + { + $this->checkPermission('settings-manage'); + + user()->notify(new TestEmail()); + $this->showSuccessNotification(trans('settings.maint_send_test_email_success', ['address' => user()->email])); + + return redirect('/settings/maintenance#image-cleanup')->withInput(); + } } diff --git a/app/Notifications/TestEmail.php b/app/Notifications/TestEmail.php new file mode 100644 index 000000000..7fce1c19c --- /dev/null +++ b/app/Notifications/TestEmail.php @@ -0,0 +1,18 @@ +newMailMessage() + ->subject(trans('settings.maint_send_test_email_mail_subject')) + ->greeting(trans('settings.maint_send_test_email_mail_greeting')) + ->line(trans('settings.maint_send_test_email_mail_text')); + } +} diff --git a/resources/lang/en/settings.php b/resources/lang/en/settings.php index bb542a588..3bcd517ca 100755 --- a/resources/lang/en/settings.php +++ b/resources/lang/en/settings.php @@ -63,6 +63,13 @@ return [ 'maint_image_cleanup_warning' => ':count potentially unused images were found. Are you sure you want to delete these images?', 'maint_image_cleanup_success' => ':count potentially unused images found and deleted!', 'maint_image_cleanup_nothing_found' => 'No unused images found, Nothing deleted!', + 'maint_send_test_email' => 'Send a Test E-Mail', + 'maint_send_test_email_desc' => 'This sends a test e-mail to your e-mail address specified in your profile.', + 'maint_send_test_email_run' => 'Send test e-mail', + 'maint_send_test_email_success' => 'E-Mail sent to :address', + 'maint_send_test_email_mail_subject' => 'Test E-Mail', + 'maint_send_test_email_mail_greeting' => 'E-Mail delivery seems to work!', + 'maint_send_test_email_mail_text' => 'Congratulations! As you received this e-mail notification, your e-mail settings seem to be configured properly.', // Role Settings 'roles' => 'Roles', diff --git a/resources/views/settings/maintenance.blade.php b/resources/views/settings/maintenance.blade.php index 6be49cdf2..ecd4702a6 100644 --- a/resources/views/settings/maintenance.blade.php +++ b/resources/views/settings/maintenance.blade.php @@ -13,7 +13,6 @@ -

{{ trans('settings.maint_image_cleanup') }}

@@ -44,5 +43,20 @@
+
+

{{ trans('settings.maint_send_test_email') }}

+
+
+

{{ trans('settings.maint_send_test_email_desc') }}

+
+
+
+ {!! csrf_field() !!} + +
+
+
+
+ @stop diff --git a/routes/web.php b/routes/web.php index 5dee447a4..eafb6a45c 100644 --- a/routes/web.php +++ b/routes/web.php @@ -172,6 +172,7 @@ Route::group(['middleware' => 'auth'], function () { // Maintenance Route::get('/maintenance', 'SettingController@showMaintenance'); Route::delete('/maintenance/cleanup-images', 'SettingController@cleanupImages'); + Route::post('/maintenance/send-test-email', 'SettingController@sendTestEmail'); // Users Route::get('/users', 'UserController@index');