smtp3: 迁移 smtp.ini 至 CLI args,修复 .env 加载与 TLS SNI

- smtp3/src/main.cpp: 移除 confs 依赖(fetch_config_from_confs/merge_ini),
  扩展 CLI 参数至 16 项(--instance/--log-level/--smtp-port/--code-len 等),
  配置优先级改为 CLI > 环境变量 > 默认值
- smtp3/_run.sh: 新增 ../smtp/.env 加载(与 Python smtp_v2.py 共用凭据),
  传递 "",移除 sleep 1
- smtp3/src/main.cpp: SmtpClient 添加 SSL_set_tlsext_host_name (SNI)
- core/services.yaml: 回退到 smtp (Python),smtp3 待生产验证后切换
- confs/configs/smtp.ini: 已删除(配置迁入 services.yaml CLI args)
- README.md: 移除 smtp.ini 表行,更新部署安全约定
- _inst.sh: 新增 inst_module "smtp3"
This commit is contained in:
qing committed 2026-08-10 09:44:38 +00:00
1 parent 80969adc9b
commit 3eafc15602
6 files changed
+65 -112

No files matched your search

+1 -2
View File
@@ -209,11 +209,10 @@
|----------|----------|----------|
| `gateway.ini` | gateway | confs 拉取(0.7.0 起配置完全迁入) |
| `static.ini` | static(fsys.py)/ fsys | 强依赖(拉取失败直接退出) |
| `smtp.ini` | smtp / smtp3 | confs 拉取 |
| `captcha.ini` | captcha / captcha2 | confs 拉取 |
| `example.ini` | —(旧 gateway 示例模板) | 无消费方 |
- **部署安全约定**:`confs/configs/*.ini` 含敏感字段(如 `smtp.ini` 密码字段),权限必须收紧为 `root:root 0640`,仅 root 可写;被同机普通用户篡改可直接劫持邮件验证码(详见 `docs/security/core_SECURITY_AUDIT_20260801.md` 2026-08-10 复审)。原 `ca.ini` 管理员白名单已随 ca v1.1.0 迁入 `core/services.yaml` 的 CLI args,其防护对象相应转为 `services.yaml` 的文件权限。
- **部署安全约定**:`confs/configs/*.ini` 含敏感字段,权限必须收紧为 `root:root 0640`,仅 root 可写;被同机普通用户篡改可劫持对应服务(详见 `docs/security/core_SECURITY_AUDIT_20260801.md` 2026-08-10 复审)。原 `ca.ini` 管理员白名单已随 ca v1.1.0 迁入 `core/services.yaml` 的 CLI args;原 `smtp.ini` 全部配置已随 smtp3 迁入 `core/services.yaml` 的 CLI args(SMTP 凭据仍经 `.env` 注入),防护对象相应转为 `services.yaml` 与 `.env` 的文件权限。
### aibox(独立 AI 智能体系统)