用途
email-setup 用于在邮件无法发送,或需要检查、修改 AWS SES/SMTP 配置时提供系统化的排查与操作指引。它覆盖 SES 身份、区域、DKIM、MAIL FROM、沙箱限制、配额、SMTP 用户与权限、应用侧 SMTP 配置以及 Kubernetes 部署检查。
主要能力
- 发现 AWS CLI 配置:列出所有 profile、其配置区域和已认证的 AWS 身份。
- 定位活跃的 SES 账户与区域:SES 是按区域隔离的,技能会枚举可用区域并检查 SES v2 账户与身份元数据。
- 检查身份细节:对重要身份检查 DKIM 和 MAIL FROM 状态,并查看配置集、模板、收件规则集和发送配额等旧版 SES 资源。
- 发现 SMTP 用户与权限:查找与 SES 或 SMTP 关联的 IAM 用户,检查其策略和访问密钥元数据,建议使用仅允许 ses:SendRawEmail 的专用 SMTP 用户。
- 发现应用接线:在基础设施和应用仓库中搜索 SMTP 配置和密钥引用,核对 SMTP 主机区域、发件人地址、密钥来源和部署是否实际运行发送邮件的代码路径。
- Kubernetes 检查:检查当前上下文、ExternalSecret 状态、Pod 状态和部署日志,但不得导出 Secret 对象或环境变量。
- 密钥处理:存储和读取密钥由 bws-secrets 技能负责,密钥值不得被打印、回显、记录或写入中间文件。
- 按症状排查:针对凭证助手失败、SES AccessDenied、身份未找到、沙箱拒绝、MessageRejected、SMTP 认证失败、应用无邮件、无 Kubernetes 上下文等情况提供排查方向。
使用方式
该技能要求 aws CLI 具有可用 profile,kubectl 具有集群上下文用于部署检查。凭证来自 Bitwarden 助手,涉及密钥值时应参考 bws-secrets 技能。如果 profile 或集群上下文不可用,应说明无法运行哪项检查,并回退到 GitOps 仓库,不要猜测实时状态。
默认行为是只读的发现和诊断。发送邮件是外部副作用,因此绝不能把测试发送当作健康检查。任何改变状态的操作,包括创建 IAM 用户、写入密钥、编辑 ExternalSecret、滚动部署或吊销密钥,都只在用户明确要求时执行。诊断投递失败并不授权修复;应报告原因和修复方案,然后等待。
适用场景
- 邮件无法发送,需要排查 SES/SMTP 配置。
- 需要检查或修改 SES 身份、区域、DKIM、MAIL FROM、沙箱限制、配额。
- 需要检查 SMTP 用户、权限和访问密钥。
- 需要核对应用侧 SMTP 配置与 Kubernetes 部署。
- 需要执行明确请求的密钥轮换。
限制
- 需要 aws CLI 和 kubectl 环境;缺少时只能回退到 GitOps 仓库并说明无法验证实时状态。
- 不得使用发送调用作为健康检查。
- 不得导出 Kubernetes Secret 对象或环境变量到日志。
- 不得将密钥值放入 YAML、ConfigMap、Git 提交或任务笔记。
- 集群变更应通过仓库的 GitOps 流程进行,而不是直接应用清单。
- 具体收费、价格、平台支持范围等事实资料中暂未提供。