Skip to content

Commit 6bda65f

Browse files
committed
fix(settings): improve mail test error handling and logging
- Use structured logging in MailSettingsController - Show specific error response in admin.js - Add styles for test email error messages Signed-off-by: Abhinav Ohri <[email protected]>
1 parent bae24eb commit 6bda65f

File tree

7 files changed

+19
-6
lines changed

7 files changed

+19
-6
lines changed

apps/settings/css/settings.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/settings/css/settings.css.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/settings/css/settings.scss

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -789,3 +789,12 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
789789
opacity: 1;
790790
}
791791
}
792+
793+
#sendtestmail_msg {
794+
&.error {
795+
display: inline-block;
796+
margin-top: 5px;
797+
border-radius: var(--border-radius);
798+
padding: 5px 10px;
799+
}
800+
}

apps/settings/lib/Controller/MailSettingsController.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
use OCP\IURLGenerator;
2020
use OCP\IUserSession;
2121
use OCP\Mail\IMailer;
22+
use Psr\Log\LoggerInterface;
23+
2224

2325
class MailSettingsController extends Controller {
2426

@@ -39,6 +41,7 @@ public function __construct(
3941
private IUserSession $userSession,
4042
private IURLGenerator $urlGenerator,
4143
private IMailer $mailer,
44+
private LoggerInterface $logger,
4245
) {
4346
parent::__construct($appName, $request);
4447
}
@@ -144,6 +147,7 @@ public function sendTestMail() {
144147
$this->config->setAppValue('core', 'emailTestSuccessful', '1');
145148
return new DataResponse();
146149
} catch (\Exception $e) {
150+
$this->logger->error('Nextcloud Mail Test Error: ' . $e->getMessage(), ['exception' => $e]);
147151
$this->config->setAppValue('core', 'emailTestSuccessful', '0');
148152
return new DataResponse($this->l10n->t('A problem occurred while sending the email. Please revise your settings. (Error: %s)', [$e->getMessage()]), Http::STATUS_BAD_REQUEST);
149153
}

apps/settings/src/admin.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ window.addEventListener('DOMContentLoaded', () => {
8989
.then(() => {
9090
OC.msg.finishedSuccess('#sendtestmail_msg', t('settings', 'Email sent'))
9191
}).catch((error) => {
92-
OC.msg.finishedError('#sendtestmail_msg', error)
92+
OC.msg.finishedError('#sendtestmail_msg', error.response.data)
9393
})
9494
})
9595
})

dist/settings-legacy-admin.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)