diff --git a/admin.php b/admin.php index 4816f53..106bd40 100644 --- a/admin.php +++ b/admin.php @@ -357,16 +357,27 @@ function fb_admin_save_settings() { $sp = (string)(isset($_POST['smtp_pass']) ? $_POST['smtp_pass'] : ''); if (trim($sp) !== '') { fb_set_setting('smtp.pass', $sp); } - $smtpPort = (int)$post('smtp.port', 465); - if ($smtpPort <= 0 || $smtpPort > 65535) { $smtpPort = 465; } - fb_set_setting('smtp.port', $smtpPort); + // 端口留空 = 用默认 465。删键回落,不要存成 0(0 端口根本连不上) + $portRaw = trim((string)$post('smtp.port', '')); + if ($portRaw === '') { + fb_unset_setting('smtp.port'); + } else { + $smtpPort = (int)$portRaw; + if ($smtpPort <= 0 || $smtpPort > 65535) { $smtpPort = 465; } + fb_set_setting('smtp.port', $smtpPort); + } $sec = strtolower(trim((string)$post('smtp.secure', 'ssl'))); if (!in_array($sec, ['ssl', 'tls', ''], true)) { $sec = 'ssl'; } fb_set_setting('smtp.secure', $sec); - $smtpTo = (int)$post('smtp.timeout', 15); - fb_set_setting('smtp.timeout', max(5, min(60, $smtpTo))); + // 超时留空 = 用默认 15 + $tmoRaw = trim((string)$post('smtp.timeout', '')); + if ($tmoRaw === '') { + fb_unset_setting('smtp.timeout'); + } else { + fb_set_setting('smtp.timeout', max(5, min(60, (int)$tmoRaw))); + } fb_set_setting('smtp.verify_ssl', (int)(bool)$post('smtp.verify_ssl')); // 没填 from 时用 user 兜底(绝大多数 SMTP 要求两者一致) @@ -387,8 +398,14 @@ function fb_admin_save_settings() { fb_set_setting('notify.enabled', (int)(bool)$post('notify.enabled')); fb_set_setting('notify.on_every_reply', (int)(bool)$post('notify.on_every_reply')); fb_set_setting('notify.admin_new_thread', (int)(bool)$post('notify.admin_new_thread')); - $cd = (int)$post('notify.cooldown_seconds', 60); - fb_set_setting('notify.cooldown_seconds', max(0, min(86400, $cd))); + // 冷却秒数留空 = 用默认 300(config 里的出厂值)。注意 0 是合法值(表示不限制), + // 所以要用「空串」而不是「0」来区分"没填"和"填了 0" + $cdRaw = trim((string)$post('notify.cooldown_seconds', '')); + if ($cdRaw === '') { + fb_unset_setting('notify.cooldown_seconds'); + } else { + fb_set_setting('notify.cooldown_seconds', max(0, min(86400, (int)$cdRaw))); + } fb_set_setting('moderation.enabled', $post('moderation.enabled') ? 1 : 0); @@ -937,12 +954,19 @@ fb_layout_head('管理后台', ['robots' => 'noindex,nofollow']);

邮件通知

'noindex,nofollow']);