TLS Options Set Up

This commit is contained in:
Br0wnHammer
2025-06-11 15:11:28 +05:30
parent 01ed3d8aaa
commit 7e1a7066fc
3 changed files with 18 additions and 3 deletions

View File

@@ -56,17 +56,21 @@ const Settings = () => {
// Handlers
const handleChange = async (e) => {
const { name, value } = e.target;
const { name, value, checked } = e.target;
// Special case for showURL until handled properly in the backend
if (name === "showURL") {
dispatch(setShowURL(value));
return;
}
let newValue;
if (name === "systemEmailIgnoreTLS" || name === "systemEmailRequireTLS" || name === "systemEmailRejectUnauthorized") {
newValue = checked;
}
// Build next state early
const newSettingsData = {
...settingsData,
settings: { ...settingsData.settings, [name]: value },
settings: { ...settingsData.settings, [name]: newValue ?? value },
};
// Validate

View File

@@ -294,6 +294,10 @@ const settingsValidation = joi.object({
systemEmailPassword: joi.string().allow(""),
systemEmailUser: joi.string().allow(""),
systemEmailConnectionHost: joi.string().allow(""),
systemEmailTLSServername: joi.string().allow(""),
systemEmailIgnoreTLS: joi.boolean().optional(),
systemEmailRequireTLS: joi.boolean().optional(),
systemEmailRejectUnauthorized: joi.boolean().optional(),
});
const dayjsValidator = (value, helpers) => {

View File

@@ -105,6 +105,10 @@ class EmailService {
systemEmailAddress,
systemEmailPassword,
systemEmailConnectionHost,
systemEmailTLSServername,
systemEmailIgnoreTLS,
systemEmailRequireTLS,
systemEmailRejectUnauthorized,
} = config;
const baseEmailConfig = {
@@ -126,7 +130,10 @@ class EmailService {
name: systemEmailConnectionHost || "localhost",
secure: false,
pool: true,
tls: { rejectUnauthorized: false },
tls: { rejectUnauthorized: systemEmailRejectUnauthorized },
ignoreTLS: systemEmailIgnoreTLS,
requireTLS: systemEmailRequireTLS,
servername: systemEmailTLSServername,
}
: baseEmailConfig;