Files
aler_dashboard_git/smtp_config.php.bak
2026-07-09 16:31:30 +08:00

193 lines
9.1 KiB
Plaintext

<?php
session_start();
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Pragma: no-cache");
header("Expires: Thu, 01 Jan 1970 00:00:00 GMT");
$expire = 1800;
if (empty($_SESSION['user_id']) || (time() - $_SESSION['login_time'] > $expire)) {
session_destroy();
header("Location: login.php");
exit;
}
$_SESSION['login_time'] = time();
$userName = htmlspecialchars($_SESSION['username']);
// 读取配置库
$dbHost = "10.150.117.190";
$dbUser = "root";
$dbPwd = "hp93000";
$dbName = "alert_mail_stat";
$conn = mysqli_connect($dbHost, $dbUser, $dbPwd, $dbName);
mysqli_set_charset($conn, "utf8mb4");
$currentLang = mysqli_fetch_assoc(mysqli_query($conn, "SELECT v FROM sys_config WHERE k='lang'"))['v'] ?? "zh";
// 多语言
$langMap = [
'zh' => [
'page_subtitle' => '爱德万测试 · SMTP邮箱配置',
'smtp_config' => '邮箱SMTP配置',
'smtp_host' => 'SMTP服务器',
'smtp_port' => '端口',
'smtp_ssl' => '启用SSL/TLS',
'smtp_account' => '发件账号',
'smtp_pwd' => '授权密码',
'smtp_from' => '发件人邮箱',
'save_smtp' => '保存配置',
'save_success' => '保存成功',
],
'en' => [
'page_subtitle' => 'Advantest · SMTP Mail Config',
'smtp_config' => 'SMTP Mail Config',
'smtp_host' => 'SMTP Host',
'smtp_port' => 'Port',
'smtp_ssl' => 'Enable SSL/TLS',
'smtp_account' => 'SMTP Account',
'smtp_pwd' => 'Auth Password',
'smtp_from' => 'Sender Email',
'save_smtp' => 'Save Config',
'save_success' => 'Saved successfully',
]
];
$t = $langMap[$currentLang];
// 保存提交
if ($_POST['act'] === "save_smtp") {
$host = trim($_POST['smtp_host'] ?? '');
$port = intval($_POST['smtp_port'] ?? 25);
$ssl = intval($_POST['smtp_ssl'] ?? 0);
$user = trim($_POST['smtp_user'] ?? '');
$pwd = trim($_POST['smtp_pass'] ?? '');
$from = trim($_POST['smtp_from'] ?? '');
mysqli_query($conn, "UPDATE sys_smtp_config SET smtp_host='$host',smtp_port=$port,smtp_ssl=$ssl,smtp_user='$user',smtp_pass='$pwd',send_from='$from' WHERE id=1");
echo "<script>alert('".$t['save_success']."');location.href='smtp_config.php';</script>";
exit;
}
// 1. 先判断SQL不为空,避免空查询警告
$sql = "SELECT * FROM sys_smtp_config WHERE id = 1";
if (!empty($sql)) {
$res = mysqli_query($conn, $sql);
// 2. 判断查询成功且返回有效结果集再执行fetch
if ($res instanceof mysqli_result) {
$smtpRow = mysqli_fetch_assoc($res);
} else {
$smtpRow = [];
}
} else {
$smtpRow = [];
}
$smtpConfig = $smtpRow ?? [];
?>
<!DOCTYPE html>
<html lang="<?php echo $currentLang==='zh'?'zh-CN':'en'; ?>">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SMTP Config - Advantest</title>
<link rel="stylesheet" href="/static/css/font-awesome.min.css">
<script src="/static/js/jquery.min.js"></script>
<style>
*{box-sizing:border-box;margin:0;padding:0}
body{background:#f9fafc;font-family:"Inter","PingFang SC","Microsoft YaHei";color:#1d2939;line-height:1.6;display:flex;flex-direction:column;height:100vh;overflow:hidden;}
.wrap-main{display:flex;flex:1;overflow:hidden;}
.sidebar{width:240px;background:#152c5b;color:#e2e8f0;flex-shrink:0;overflow-y:auto;}
.sidebar-brand{padding:26px 24px;border-bottom:1px solid rgba(255,255,255,0.1);}
.sidebar-brand-en{font-size:20px;font-weight:700;letter-spacing:1px;color:#fff;}
.sidebar-brand-cn{font-size:13px;color:#a5b4fc;margin-top:4px;}
.sidebar-menu{padding:16px 0;}
.menu-title{padding:10px 24px;font-size:12px;color:#94a3b8;letter-spacing:1px;}
.menu-item{display:flex;align-items:center;gap:12px;padding:14px 24px;cursor:pointer;font-size:14px;transition:0.2s;color:#cbd5e1;}
.menu-item i{font-size:16px;width:20px;text-align:center;}
.menu-item.active{background:rgba(255,255,255,0.12);color:#fff;border-left:4px solid #3b82f6;}
.menu-item:hover:not(.active){background:rgba(255,255,255,0.06);color:#fff;}
.main-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;}
.header{background:#ffffff;border-bottom:1px solid #eef2fb;color:#152c5b;padding:20px 40px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 12px rgba(21,44,91,0.05);flex-shrink:0;}
.header-left{display:flex;align-items:center;gap:14px;}
.header-brand-en{font-size:24px;font-weight:700;letter-spacing:2px;color:#152c5b;}
.header-brand-cn{font-size:15px;color:#64748b;}
.header-right{display:flex;align-items:center;gap:18px;font-size:14px;flex-wrap:wrap;}
.user-info{color:#475569;display:flex;align-items:center;gap:6px;}
.btn-base{border:none;padding:9px 20px;border-radius:8px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:6px;transition:all 0.2s ease;}
.btn-primary{background:#152c5b;color:#fff;}
.container{padding:36px 40px;flex:1;}
.base-card{background:#fff;border-radius:16px;padding:32px;box-shadow:0 3px 18px rgba(21,44,91,0.06);border:1px solid #eef2fb;max-width:700px;}
.title-wrap{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:600;color:#152c5b;margin-bottom:26px;padding-bottom:16px;border-bottom:1px solid #eef2fb;}
.form-row{margin-bottom:20px;}
.form-row label{display:block;margin-bottom:8px;color:#475569;font-weight:500;}
.form-row input{width:100%;padding:10px 14px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;}
</style>
</head>
<body>
<div class="wrap-main">
<div class="sidebar">
<div class="sidebar-brand">
<div class="sidebar-brand-en">Advantest</div>
<div class="sidebar-brand-cn"><?php echo $t['page_subtitle']; ?></div>
</div>
<div class="sidebar-menu">
<div class="menu-title">Monitor Panel</div>
<div class="menu-item" onclick="location.href='dashboard.php'">
<i class="fa fa-line-chart"></i><span>Alert Overview</span>
</div>
<div class="menu-item" onclick="location.href='work_order.php'">
<i class="fa fa-ticket"></i><span>Work Order System</span>
</div>
<div class="menu-title">System Manage</div>
<div class="menu-item" onclick="location.href='admin.php'">
<i class="fa fa-cog"></i><span>System Config</span>
</div>
<div class="menu-item active">
<i class="fa fa-envelope-o"></i><span><?php echo $t['smtp_config']; ?></span>
</div>
</div>
</div>
<div class="main-content">
<div class="header">
<div class="header-left">
<div>
<div class="header-brand-en">Advantest</div>
<div class="header-brand-cn"><?php echo $t['page_subtitle']; ?></div>
</div>
</div>
<div class="header-right">
<span class="user-info"><i class="fa fa-user-circle"></i>User: <?php echo $userName; ?></span>
<button class="btn-base btn-primary" onclick="location.href='logout.php'"><i class="fa fa-sign-out"></i>Logout</button>
</div>
</div>
<div class="container">
<div class="base-card">
<div class="title-wrap"><i class="fa fa-envelope-o"></i><?php echo $t['smtp_config']; ?></div>
<form method="post">
<input type="hidden" name="act" value="save_smtp">
<div class="form-row">
<label><?php echo $t['smtp_host']; ?></label>
<input name="smtp_host" value="<?php echo htmlspecialchars($cfg['smtp_host']); ?>">
</div>
<div class="form-row">
<label><?php echo $t['smtp_port']; ?></label>
<input name="smtp_port" type="number" value="<?php echo intval($cfg['smtp_port']); ?>">
</div>
<div class="form-row">
<label><?php echo $t['smtp_ssl']; ?></label>
<input type="checkbox" name="smtp_ssl" value="1" <?php echo $cfg['smtp_ssl']==1?'checked':''; ?>>
</div>
<div class="form-row">
<label><?php echo $t['smtp_account']; ?></label>
<input name="smtp_user" value="<?php echo htmlspecialchars($cfg['smtp_user']); ?>">
</div>
<div class="form-row">
<label><?php echo $t['smtp_pwd']; ?></label>
<input name="smtp_pass" type="password" value="<?php echo htmlspecialchars($cfg['smtp_pass']); ?>">
</div>
<div class="form-row">
<label><?php echo $t['smtp_from']; ?></label>
<input name="smtp_from" value="<?php echo htmlspecialchars($cfg['send_from']); ?>">
</div>
<button class="btn-base btn-primary" type="submit"><i class="fa fa-save"></i><?php echo $t['save_smtp']; ?></button>
</form>
</div>
</div>
</div>
</div>
</body>
</html>