Agent Skills
返回列表
零暴露 SMTP 安全发信

零暴露 SMTP 安全发信

办公效率 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_46820e02/smtp-sender-secure。

技能介绍

为什么需要「零暴露」发信

让 Agent 代发邮件时,SMTP 账号、应用专用密码或整段发信脚本常被写进对话、提示词或环境变量。模型上下文、工具日志与协作回放都可能长期保留这些敏感信息;即便你要求「不要打印密码」,一次误用的 mgc_get 或读文件仍可能把实现细节暴露给模型。凭据一旦进入训练或共享链路,轮换成本很高。

技能如何组织工作流

这是一份文档型说明,不包含可直接拷贝运行的完整发信工程。核心依赖 MGC Blackbox(建议 ≥ 1.4.10):你在 MGC WebUI 的 Save 页录入 SMTP 配置,并记住只向 Agent 声明凭据的 info_type / info_owner(例如 smtp_gmail),永远不要把密码正文发给模型。发信脚本用 argparse 与 parse_known_args 编写后,经 mgc_save 存入 MGC;默认值尽量用字面量,避免 datetime.now() 一类动态默认触发 dynamic_args_detected。

实际发送时,Agent 调用 mgc_run,ext02 必须是 JSON 数组字符串(如 json.dumps(["--to","a@b.com"]))。黑盒执行后,模型通常只能看到 {pid, status} 与结果文件路径,看不到 SMTP 凭据、脚本源码与邮件实现细节。若启用隐私模式,把主题/正文单独存进 MGC,再配合 --use_stored_content,连邮件正文也可不进入对话。

边界与注意

  • 本技能不提供自动群发、凭据生成,也不鼓励 Agent 擅自改已入库脚本;它只描述如何搭安全流程。
  • 凭据轮换:对同一 info_type / info_owner 再次 mgc_save 并设 update_if_exists=true,脚本侧无需把新密码写进聊天。
  • 每次发信应经你明确授权;mgc_get 不适合作为 AI 驱动执行的入口,发信以 mgc_run 为准。
  • 沙箱内若 MCP 不可用,需在系统环境运行 MGC 或按项目文档经 FastAPI 敏感执行接口调用(详见 SKILL 中的 Troubleshooting 表)。

使用场景

  • 本机已运行 MGC,希望 Agent 代发告警或通知邮件,但对话与日志里不出现 SMTP 账号与应用专用密码。
  • 日常由你确认收件人后,只让 Agent 用凭据名(如 `smtp_gmail`)调用 `mgc_run` 执行已入库的 `send_email_script`。
  • 邮件正文含客户或合同敏感信息,先把主题/正文存入 MGC,再通过 `--use_stored_content` 发信,避免模型读到全文。
  • SMTP 密码轮换后,在 WebUI 或对同一 `info_owner` 执行 `mgc_save`(`update_if_exists=true`),无需把新密码贴进聊天。

适合人员

  • 在本机维护 MGC Blackbox,需要让 Cursor/Trae 等 Agent 触发发信脚本、又拒绝把 Gmail 应用专用密码写进提示词的运维或 SRE
  • 自己编写带 `argparse` 的 SMTP 发信脚本,希望脚本与凭据只留在 MGC、Agent 侧仅见 `mgc_run` 返回状态与结果路径的开发者
  • 对邮件隐私要求高、要把正文与凭据都隔离在黑盒外、仅授权单次发送的产品或支持负责人
  • 在沙箱 Agent 环境中集成邮件能力、需按文档处理 MCP 受限并走敏感执行接口的安全或平台工程师