<?php namespace BookStack\Http\Controllers;
use BookStack\Auth\User;
+use BookStack\Notifications\TestEmail;
use BookStack\Uploads\ImageRepo;
use BookStack\Uploads\ImageService;
use Illuminate\Http\Request;
return redirect('/settings/maintenance#image-cleanup')->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();
+ }
}
--- /dev/null
+<?php namespace BookStack\Notifications;
+
+class TestEmail extends MailNotification
+{
+ /**
+ * Get the mail representation of the notification.
+ *
+ * @param mixed $notifiable
+ * @return \Illuminate\Notifications\Messages\MailMessage
+ */
+ public function toMail($notifiable)
+ {
+ return $this->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'));
+ }
+}
'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',
</div>
</div>
-
<div id="image-cleanup" class="card content-wrap auto-height">
<h2 class="list-heading">{{ trans('settings.maint_image_cleanup') }}</h2>
<div class="grid half gap-xl">
</div>
</div>
+ <div id="send-test-email" class="card content-wrap auto-height">
+ <h2 class="list-heading">{{ trans('settings.maint_send_test_email') }}</h2>
+ <div class="grid half gap-xl">
+ <div>
+ <p class="small text-muted">{{ trans('settings.maint_send_test_email_desc') }}</p>
+ </div>
+ <div>
+ <form method="POST" action="{{ url('/settings/maintenance/send-test-email') }}">
+ {!! csrf_field() !!}
+ <button class="button outline">{{ trans('settings.maint_send_test_email_run') }}</button>
+ </form>
+ </div>
+ </div>
+ </div>
+
</div>
@stop
// 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');