Send test email feature added to email settings.

This commit is contained in:
2026-05-17 13:49:45 +02:00
parent ff3a15fd09
commit 62cdeb6767
5 changed files with 95 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ use api\classes\API;
require_once 'API.php';
class API_mailsettings extends API
{
public function updateMailSettings($updatePassword)
@@ -27,4 +28,19 @@ class API_mailsettings extends API
}
}
public function testSendMail($mailBuilder)
{
$mailBuilder->subject = "Test mail";
$mailBuilder->addAddress($this->data['mail_to'], $this->data['mail_to']);
$mailBuilder->mailText = '
Hello,<br><br>
This is a test email sent through Sentri.<br><br>
If you received this email, your Sentri mail settings are configured correctly.
';
$mailBuilder->sendMail();
}
}

View File

@@ -0,0 +1,30 @@
<?php
use api\classes\API_mailsettings;
use bin\php\Classes\mailBuilder;
session_start();
require_once $_SERVER['DOCUMENT_ROOT'] . '/api/classes/API_mailsettings.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/bin/php/Classes/mailBuilder.php';
$API_mailsettings = new API_mailsettings();
if ($API_mailsettings->request_method === 'POST') {
# Send a test email to an address
$API_mailsettings->checkPermissions('admin-mailsettings', 'RO');
$requiredFields = [
'mail_to' => ['type' => 'email'],
];
$API_mailsettings->validateData($requiredFields);
# Send the test email
$mailBuilder = new mailBuilder();
$API_mailsettings->testSendMail($mailBuilder);
$API_mailsettings->apiOutput(200, ['success' => 'The test email was sent.']);
}