diff --git a/admin/database_updates.php b/admin/database_updates.php
index 688a9daa..a8e044d0 100644
--- a/admin/database_updates.php
+++ b/admin/database_updates.php
@@ -4027,10 +4027,16 @@ if (LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION) {
mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '2.3.5'");
}
- // if (CURRENT_DATABASE_VERSION == '2.3.4') {
- // // Insert queries here required to update to DB version 2.3.4
+ if (CURRENT_DATABASE_VERSION == '2.3.5') {
+ mysqli_query($mysqli, "ALTER TABLE `settings` CHANGE `config_smtp_provider` `config_smtp_provider` VARCHAR(200) DEFAULT NULL");
+ mysqli_query($mysqli, "ALTER TABLE `settings` CHANGE `config_imap_provider` `config_imap_provider` VARCHAR(200) DEFAULT NULL");
+ mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '2.3.6'");
+ }
+
+ // if (CURRENT_DATABASE_VERSION == '2.3.5') {
+ // // Insert queries here required to update to DB version 2.3.5
// // Then, update the database to the next sequential version
- // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '2.3.5'");
+ // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '2.3.6'");
// }
} else {
diff --git a/admin/post/settings_mail.php b/admin/post/settings_mail.php
index daf479e3..d7b2e6a7 100644
--- a/admin/post/settings_mail.php
+++ b/admin/post/settings_mail.php
@@ -6,7 +6,7 @@ if (isset($_POST['edit_mail_smtp_settings'])) {
validateCSRFToken($_POST['csrf_token']);
- $config_smtp_provider = sanitizeInput($_POST['config_smtp_provider'] ?? 'standard_smtp');
+ $config_smtp_provider = sanitizeInput($_POST['config_smtp_provider']);
$config_smtp_host = sanitizeInput($_POST['config_smtp_host']);
$config_smtp_port = intval($_POST['config_smtp_port'] ?? 0);
$config_smtp_encryption = sanitizeInput($_POST['config_smtp_encryption']);
@@ -22,7 +22,7 @@ if (isset($_POST['edit_mail_smtp_settings'])) {
mysqli_query($mysqli, "
UPDATE settings SET
- config_smtp_provider = " . ($config_smtp_provider === 'none' ? "NULL" : "'$config_smtp_provider'") . ",
+ config_smtp_provider = '$config_smtp_provider',
config_smtp_host = '$config_smtp_host',
config_smtp_port = $config_smtp_port,
config_smtp_encryption = '$config_smtp_encryption',
@@ -48,7 +48,7 @@ if (isset($_POST['edit_mail_imap_settings'])) {
validateCSRFToken($_POST['csrf_token']);
- $config_imap_provider = sanitizeInput($_POST['config_imap_provider'] ?? 'standard_imap');
+ $config_imap_provider = sanitizeInput($_POST['config_imap_provider']);
$config_imap_host = sanitizeInput($_POST['config_imap_host']);
$config_imap_port = intval($_POST['config_imap_port'] ?? 0);
$config_imap_encryption = sanitizeInput($_POST['config_imap_encryption']);
@@ -64,7 +64,7 @@ if (isset($_POST['edit_mail_imap_settings'])) {
mysqli_query($mysqli, "
UPDATE settings SET
- config_imap_provider = " . ($config_imap_provider === 'none' ? "NULL" : "'$config_imap_provider'") . ",
+ config_imap_provider = '$config_imap_provider',
config_imap_host = '$config_imap_host',
config_imap_port = $config_imap_port,
config_imap_encryption = '$config_imap_encryption',
diff --git a/admin/settings_mail.php b/admin/settings_mail.php
index 1b6acea1..eb0dee02 100644
--- a/admin/settings_mail.php
+++ b/admin/settings_mail.php
@@ -18,10 +18,10 @@ require_once "includes/inc_all_admin.php";
@@ -116,10 +116,10 @@ require_once "includes/inc_all_admin.php";
diff --git a/cron/mail_queue.php b/cron/mail_queue.php
index 11993ef7..f77fdb1e 100644
--- a/cron/mail_queue.php
+++ b/cron/mail_queue.php
@@ -55,7 +55,7 @@ $config_smtp_port = intval($row['config_smtp_port']);
$config_smtp_encryption = $row['config_smtp_encryption'];
// SMTP provider + shared OAuth fields
-$config_smtp_provider = $row['config_smtp_provider'] ?? 'standard_smtp'; // 'standard_smtp' | 'google_oauth' | 'microsoft_oauth'
+$config_smtp_provider = $row['config_smtp_provider']; // 'standard_smtp' | 'google_oauth' | 'microsoft_oauth'
$config_mail_oauth_client_id = $row['config_mail_oauth_client_id'] ?? '';
$config_mail_oauth_client_secret = $row['config_mail_oauth_client_secret'] ?? '';
$config_mail_oauth_tenant_id = $row['config_mail_oauth_tenant_id'] ?? '';
@@ -68,6 +68,11 @@ if ($config_enable_cron == 0) {
exit("Cron: is not enabled -- Quitting..");
}
+if (empty($config_smtp_provider)) {
+ logApp("Cron-Mail-Queue", "info", "SMTP sending skipped: provider not configured.");
+ exit(0);
+}
+
/** =======================================================================
* Lock file
* ======================================================================= */
diff --git a/db.sql b/db.sql
index 8f3e0946..dad15b41 100644
--- a/db.sql
+++ b/db.sql
@@ -1981,7 +1981,7 @@ CREATE TABLE `settings` (
`company_id` int(11) NOT NULL,
`config_current_database_version` varchar(10) NOT NULL,
`config_start_page` varchar(200) DEFAULT 'clients.php',
- `config_smtp_provider` enum('standard_smtp','google_oauth','microsoft_oauth') DEFAULT NULL,
+ `config_smtp_provider` varchar(200) DEFAULT NULL,
`config_smtp_host` varchar(200) DEFAULT NULL,
`config_smtp_port` int(5) DEFAULT NULL,
`config_smtp_encryption` varchar(200) DEFAULT NULL,
@@ -1989,7 +1989,7 @@ CREATE TABLE `settings` (
`config_smtp_password` varchar(200) DEFAULT NULL,
`config_mail_from_email` varchar(200) DEFAULT NULL,
`config_mail_from_name` varchar(200) DEFAULT NULL,
- `config_imap_provider` enum('standard_imap','google_oauth','microsoft_oauth') DEFAULT NULL,
+ `config_imap_provider` varchar(200) DEFAULT NULL,
`config_mail_oauth_client_id` varchar(255) DEFAULT NULL,
`config_mail_oauth_client_secret` varchar(255) DEFAULT NULL,
`config_mail_oauth_tenant_id` varchar(255) DEFAULT NULL,
@@ -2819,4 +2819,4 @@ CREATE TABLE `vendors` (
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
--- Dump completed on 2025-09-25 17:24:06
+-- Dump completed on 2025-10-02 14:27:24
diff --git a/includes/database_version.php b/includes/database_version.php
index d83815ec..a2c67fc8 100644
--- a/includes/database_version.php
+++ b/includes/database_version.php
@@ -5,4 +5,4 @@
* It is used in conjunction with database_updates.php
*/
-DEFINE("LATEST_DATABASE_VERSION", "2.3.5");
+DEFINE("LATEST_DATABASE_VERSION", "2.3.6");