tencent-ses-skills — 腾讯SES技能
v2腾讯云邮件推送(SES)服务技能,用于通过腾讯云 API 发送邮件。当用户提到“发送邮件”、“邮件推送”、“发邮件给”、“用某个地址给某人发送模板/邮件内容”时触发。支持完整的邮件发送工作流: (0) 检查 API 密钥配置并按安全配置指南引导用户完成子账号创建和密钥获取, (1) 解析用户指令并在信息缺失时引导用户查询已有资源或创建新资源, (2) 查询和验证发信域名, (3) 管理发信地址, (4) 使用模板或自定义内容发送邮件(自定义内容需先确认权限), (5) 自动查询邮件发送状态。 当域名验证不通过或创建新域名时,自动启动“邮件域名认证向导”,引导用户完成 SPF/DKIM/DMARC/MX 配置,并通过全球 DNS 传播检测确认生效状态。 当邮件发送出现认证失败时,自动执行“DNS 问题诊断器”,定位 DNS 配置问题并给出修复方案。 也适用于用户询问“邮件发送状态”、“邮件是否送达”、“域名验证”、“DNS 配置”、“SPF/DKIM/DMARC”等场景。 依赖环境变量 TENCENTCLOUD_SECRET_ID、TENCENTCLOUD_SECRET_KEY 和可选的 SES_REGION、SES_ENDPOINT。
运行时依赖
安装命令
点击复制技能文档
腾讯云邮件推送(SES)Skill 使用指南 目录 产品简介 快速开始 前提条件 环境变量 验证配置 必须遵守的规则 密钥安全 AI 行为约束 输出规范 使用示例 发送邮件 查看域名和地址 域名与 DNS 配置 创建发信地址 模板管理 查看发送状态 故障排查 脚本说明 邮件发送工作流 第 0 步:检查 API 密钥配置 第 1 步:解析用户指令 第 2 步:检查发信域名 第 3 步:检查发信地址 第 4 步:发送邮件 第 5 步:查询发送状态 域名认证向导 触发条件 主域名与非主域名 操作步骤 DNS 问题诊断器 触发条件 诊断命令 自动识别的问题模式 命令参考 SES API 命令 DNS 诊断命令 相关文档 产品简介 腾讯云邮件推送(Simple Email Service,SES)是一款基于云端的平台化邮件推送服务,为企业和开发者提供安全稳定、简单快速、精准高效的营销邮件、通知邮件和事务邮件的推送能力。 本 Skill 封装了腾讯云 SES 的核心 API,提供以下能力: 能力模块 说明 域名管理 查询、创建、验证发信域名 地址管理 查询、创建发信地址 邮件发送 支持模板发送与自定义内容发送,支持抄送、密送、附件、退订链接等高级选项 状态查询 查询邮件投递与送达状态 模板管理 创建、更新、删除邮件模板 DNS 诊断 SPF / DKIM / DMARC / MX 记录检查、CNAME 冲突检测与全球传播检测 快速开始 前提条件 使用本 Skill 前,请确保已完成以下准备工作: 步骤 操作 说明 1 创建腾讯云子账号 建议创建专用子账号并关联预设策略 QcloudSESFullAccess,详见 安全配置指南 2 获取 API 密钥 为子账号生成 SecretId 和 SecretKey,并妥善保存 3 安装 Python SDK 执行 pip install tencentcloud-sdk-python 4 配置环境变量 设置必需的密钥和可选的地域参数(详见下表) 环境变量 变量名 是否必填 默认值 说明 TENCENTCLOUD_SECRET_ID — 腾讯云 API SecretId TENCENTCLOUD_SECRET_KEY — 腾讯云 API SecretKey SES_REGION 否 ap-guangzhou 服务地域,可选值:ap-hongkong、ap-singapore SES_ENDPOINT 否 ses.tencentcloudapi.com API 接入点,可选值:ses.intl.tencentcloudapi.com 验证配置 环境变量配置完成后,执行以下命令验证连通性: python3 ${SKILL_DIR}/scripts/ses_tool.py list-domains 若返回域名列表,则表示配置正确。若用户尚未提供密钥或验证失败,必须按照 安全配置指南 中的步骤,逐步引导用户完成子账号创建、策略关联和 API 密钥获取,不可笼统地要求用户"去配置密钥"。 必须遵守的规则 密钥安全 禁止将 SecretId、SecretKey 硬编码到代码或工作区文件中 群聊场景:禁止让用户直接发送密钥 私聊场景:提醒"密钥会经过 LLM,存在泄漏风险" 最小权限原则:建议使用 CAM 子账号,关联预设策略 QcloudSESFullAccess,并配置 IP 访问限制 密钥轮换建议:定期轮换 API 密钥(建议每 90 天),避免长期使用同一密钥 AI 行为约束 只调用本 Skill 封装的脚本:禁止直接用 Python SDK 或 curl 调用未封装的腾讯云 API。 如需调用本 Skill 未封装的接口,必须先告知用户"该接口暂未封装",并建议前往 SES 控制台 操作 域名/模板 ID 必须来自真实查询:禁止编造或猜测域名名称、模板 ID 等标识符。 查询域名/模板列表时,应先用 ses_tool.py list-domains 或 ses_tool.py list-templates 获取真实数据,不得随意填写 先预览后执行(--dry-run):对写入类操作(发送邮件、创建域名、创建发信地址、创建/删除模板),必须先使用 --dry-run 参数执行预览,将输出的请求参数展示给用户确认后,再去掉 --dry-run 正式执行。 --dry-run 不会调用 API,仅验证参数并输出 JSON 格式的请求预览 定时/批量任务必须确认:设置定时发送或批量邮件时,即使已做预览,仍需明确告知用户发件地址、收件人数、发送内容,并等待用户确认后再执行 域名须先验证后使用:发信域名的 DNS 记录(SPF/DKIM/DMARC/MX)必须验证通过后才能用于发送邮件,验证状态通过 ses_tool.py list-domains 查询确认 输出规范 结构化输出:所有脚本以 JSON 格式输出结果到 stdout,日志信息输出到 stderr 错误如实返回:脚本失败时必须返回错误信息,不得猜测或伪造结果 使用示例 发送邮件 自然语言示例 说明 "用 noreply@example.com 给 zhangsan@gmail.com 发一封欢迎邮件,用模板 251254620" 使用指定模板发送邮件 "用 noreply@example.com 给 a@qq.com、b@gmail.com、c@163.com 发送模板 251254620,主题是「活动邀请」" 使用模板批量发送邮件 查看域名和地址 自然语言示例 说明 "帮我看看现在有哪些发信域名" 列出所有域名及其验证状态 "example.com 这个域名的 DNS 配置情况怎么样?" 查看域名的 SPF / DKIM / DMARC / MX 配置详情 域名与 DNS 配置 自然语言示例 说明 "我想用 mail.example.com 来发邮件,帮我创建这个域名" 创建发信域名并引导完成 DNS 配置 创建发信地址 自然语言示例 说明 "帮我创建一个发信地址 hello@example.com" 创建不带别名的发信地址 模板管理 自然语言示例 说明 "帮我看看有哪些邮件模板" 列出模板列表(名称、ID、审核状态) 查看发送状态 自然语言示例 说明 "刚才发的那封邮件送到了吗?" 自动使用上次的 MessageId 查询投递状态 故障排查 自然语言示例 说明 "域名验证失败了,帮我查查原因" 自动诊断域名认证与 DNS 配置问题 脚本说明 本 Skill 提供两个核心脚本工具: 脚本 路径 功能说明 是否依赖 AKSK SES 管理工具 ${SKILL_DIR}/scripts/ses_tool.py 调用腾讯云 SES API,完成邮件发送全流程 DNS 诊断工具 ${SKILL_DIR}/scripts/dns_checker.py 检测 DNS 记录配置与全球传播状态 否 邮件发送工作流 当用户请求发送邮件时(例如"用 xxx@domain.com 给 yyy@example.com 发送模板 12345"),系统按以下流程执行: 第 0 步:检查 API 密钥配置 第 1 步:解析用户指令 第 2 步:检查发信域名 第 3 步:检查发信地址 第 4 步:发送邮件 第 5 步:查询发送状态 域名认证向导 触发条件 主域名与非主域名 操作步骤 DNS 问题诊断器 触发条件 诊断命令 自动识别的问题模式 命令参考 SES API 命令 DNS 诊断命令 相关文档