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");