get('domain', 'test.com'); // 处理系统设置更新 if (isset($_POST['update_settings'])) { // SMTP端口 if (isset($_POST['smtp_port'])) { $port = (int)$_POST['smtp_port']; if (Validator::validatePort($port)) { $settingsRepo->set('smtp_port', $port); } else { $error = "SMTP端口无效(1-65535)"; } } // POP3端口 if (isset($_POST['pop3_port'])) { $port = (int)$_POST['pop3_port']; if (Validator::validatePort($port)) { $settingsRepo->set('pop3_port', $port); } else { $error = "POP3端口无效(1-65535)"; } } // 域名 if (isset($_POST['domain'])) { $newDomain = trim($_POST['domain']); if (!empty($newDomain)) { /* **** 调试开始 **** */ $oldDomain = $settingsRepo->get('domain', 'test.com'); // 实时旧值 error_log('【调试】实时旧域名:' . $oldDomain); error_log('【调试】提交新域名:' . $newDomain); /* **** 调试结束 **** */ if ($newDomain !== $oldDomain) { $settingsRepo->set('domain', $newDomain); require_once __DIR__ . '/../src/admin/SyncDomainService.php'; $sync = new SyncDomainService(); $count = $sync->run($oldDomain, $newDomain); $message .= " 已同步 $count 个用户邮箱后缀。"; /* **** 调试开始 **** */ error_log('【调试】REPLACE 影响行数:' . $count); /* **** 调试结束 **** */ } } } // 默认邮箱大小限制 if (isset($_POST['mailbox_size_limit'])) { $size = (int)$_POST['mailbox_size_limit']; if ($size > 0) { $settingsRepo->set('mailbox_size_limit', $size); } } // 日志路径 if (isset($_POST['log_path'])) { $settingsRepo->set('log_path', trim($_POST['log_path'])); } // 日志最大大小 if (isset($_POST['log_max_size'])) { $size = (int)$_POST['log_max_size']; if ($size > 0) { $settingsRepo->set('log_max_size', $size); } } if (empty($error)) { $message = "系统设置已更新"; } } // 处理管理员密码修改 if (isset($_POST['change_admin_password'])) { $oldPassword = $_POST['old_password'] ?? ''; $newPassword = $_POST['new_password'] ?? ''; $confirmPassword = $_POST['confirm_password'] ?? ''; $user = $userRepo->findById($_SESSION['user_id']); if (!Security::verifyPassword($oldPassword, $user['password_hash'])) { $error = "原密码错误"; } else { $passwordValidation = Validator::validatePassword($newPassword, 6); if (!$passwordValidation['valid']) { $error = implode('
', $passwordValidation['errors']); } elseif ($newPassword !== $confirmPassword) { $error = "两次输入的密码不一致"; } else { if ($userRepo->update($_SESSION['user_id'], ['password' => $newPassword])) { $message = "管理员密码已更新"; } else { $error = "密码更新失败"; } } } } // 处理用户邮箱大小设置 if (isset($_POST['set_mailbox_size'])) { $userId = (int)$_POST['user_id']; $sizeBytes = (int)$_POST['mailbox_size']; if ($sizeBytes > 0) { if ($mailboxRepo->setSizeLimit($userId, $sizeBytes)) { $message = "邮箱大小限制已更新"; } else { $error = "更新失败"; } } else { $error = "邮箱大小必须大于0"; } } // 获取当前设置 $settings = $settingsRepo->getAll(); $users = $userRepo->getAll(); ?> 系统设置 - 邮件服务器

邮件服务器管理后台

欢迎, (退出)

系统设置

服务器端口设置

SMTP服务器监听端口
POP3服务器监听端口

域名设置

邮件服务器域名,用户邮箱必须使用此域名

邮箱大小管理

默认值:104857600 (100MB)

用户邮箱大小设置

getUsage($user['id']); $usedMB = round($usage['used'] / 1048576, 2); $limitMB = round($usage['limit'] / 1048576, 2); ?>
用户 当前使用 限制大小 使用率 操作
MB MB %

日志设置

日志文件存储的目录路径
默认值:10485760 (10MB)

修改管理员密码

密码长度至少6个字符