智能体工作流 · 2026 年 9 月 21 日

如何为 AI 智能体提供安全的邮件发送权限

直接给 AI 智能体一个 API 密钥是一种隐患。了解如何实现限定作用域的凭据、审批边界和幂等,防止由智能体引发的邮件灾难。

智能体邮件的核心挑战

要为 AI 智能体提供安全的邮件访问权限,您必须把发送邮件视为高风险的外部副作用。绝不要给智能体根 API 密钥,而应使用按工作区限定作用域的凭据,为大批量或高敏感度的发送设置人工审批边界,并强制使用幂等键,防止 LLM 重试时重复发送。这种架构可以限制智能体的影响范围,同时保留审计每一封外发邮件的能力。

作为负责事件队列的工程师,我见过智能体陷入循环或凭空捏造分发列表时会发生什么。如果您的智能体能不受限制地访问事务性邮件服务商,一个逻辑错误就能在几分钟内毁掉您的域名信誉。您必须把智能体撰写邮件的能力,与系统发出邮件的权限分开。

AI 邮件智能体的风险画像

当我们把 LLM 集成到邮件工作流中时,会引入三种主要的失败模式:

  1. 无限循环:智能体触发一次发送,收到退信或回复后立即作出响应,形成递归循环,导致发送量激增并触发速率限制。
  2. 幻觉收件人:智能体生成看似合理但实际错误的邮件地址,推高您的退信率并损害发件人信誉。
  3. 上下文漂移:智能体丢失了会话的原始意图,开始向客户发送不相关或不恰当的内容。

更糟糕的是,大多数传统邮件 API 是为确定性的应用逻辑而设计的,而不是为概率性的 AI 逻辑设计的。如果您使用标准的 API 密钥,服务商无法区分正常的系统通知和一个失控的智能体。

实现限定作用域的凭据

第一道防线是最小权限原则。不要使用全局账户密钥,而要使用按工作区限定作用域的 API 密钥,将智能体限制在特定的域名或模板上。

例如,如果您使用 SendHQ,就可以利用按工作区限定作用域的 API 密钥,确保智能体只能从特定的已验证域名发信。这可以防止智能体意外冒用其他内部域名或访问管理设置。

负载结构

当智能体请求发送时,负载的结构中应包含用于审计的元数据。避免让智能体动态指定 from 地址。请在后端固定 from 地址,只让智能体提供 to、subject 和 body(或模板变量)。

{ "to": "customer@example.com", "template_id": "welcome-email-01", "variables": { "first_name": "Jane", "onboarding_step": "API Integration" }, "idempotency_key": "req_agent_88234_step_1", "metadata": { "agent_id": "support-bot-v2", "conversation_id": "conv_9912" } }

解决重复发送问题

LLM 很容易遇到超时和重试。如果您的智能体调用邮件 API 时请求卡住,智能体又进行了重试,同一封邮件就有可能被发送两次。这不仅用户体验差,还会向垃圾邮件过滤器表明您的发送模式不稳定。

这时幂等键就是必需的。幂等键是由客户端(智能体的编排器)生成的唯一值,API 用它来识别针对同一请求的后续重试。如果 API 发现某个键已被处理过,就会返回最初的成功响应,而不会再次发送邮件。

审批边界与人工介入(HITL)

并非每封邮件都需要人工过目,但高风险邮件需要。我建议根据智能体的置信度或收件人的重要程度,建立分级审批体系。

第 1 级:自动发送(低风险)

  • 事务性提醒(例如密码重置)。
  • 已确认的预约提醒。
  • 这些邮件无需经过审批队列。

第 2 级:标记待审(中风险)

  • 客户支持回复。
  • 基于潜在客户数据的外联邮件。
  • 这些邮件会在控制台中排队,等待人工点击“批准”或“编辑”。

第 3 级:禁止自动发送(高风险)

  • 发给高管的邮件。
  • 群发公告。
  • 这些邮件需要人工撰写,或使用严格的模板覆盖。

基础设施成本的权衡

为智能体选择服务商时,您必须在成本与安全所需的功能(例如细粒度的 API 密钥和投递事件)之间取得平衡。

根据 Amazon SES 价格,按量计费的发送成本为每 1,000 封邮件 0.10 USD。不过,其 2026 年 7 月 21 日推出的新分级套餐改变了计算方式:Essentials 为每 1,000 封 0.16 USD,Pro 为每 1,000 封 0.22 USD 另加每个区域每月 105 USD,Enterprise 为每 1,000 封 0.23 USD 另加每月 500 USD。

与其他服务商对比:

  • Resend 提供每月 3,000 封邮件的免费额度(每天上限 100 封),Pro 套餐为每月 20 USD、含 50,000 封邮件,超出部分每 1,000 封 0.90 USD。
  • SendGrid 的免费版现已改为 60 天试用,Essentials 起价为每月 19.95 USD。
  • Mailgun 起价为每月 15 USD、含 10,000 封邮件,超出部分每 1,000 封 1.80 至 1.10 USD。
  • Postmark 起价为每月 15 USD、含 10,000 封邮件,超出部分每 1,000 封 1.80 至 1.20 USD。

单从成本看,50,000 封邮件在 SES 按量计费下约为 5 USD,而在 Postmark 的套餐下约为 66 USD。但成本并不是唯一的指标。对于 AI 智能体,您需要健全的投递事件和易于管理的抑制列表,防止智能体反复向失效地址发信。

审计追踪与遥测

如果智能体发出了一封有问题的邮件,您需要准确知道原因。您的日志应将邮件 ID 与 LLM 提示词以及智能体系统指令的具体版本关联起来。

审计日志的必备字段

  • message_id:服务商分配的唯一 ID。
  • agent_version:所使用的具体提示词版本。
  • prompt_hash:提供给 LLM 的输入上下文的哈希值。
  • approval_timestamp:人工批准发送的时间。
  • delivery_status:邮件是否已被收件服务器接受。

请记住,服务商受理不等于投递,投递也不等于收件箱送达。您的智能体可能从 API 收到 202 Accepted,但邮件仍可能因为 SPF 或 DKIM 校验失败而被收件方服务器丢弃。在让智能体发出任何一封邮件之前,请使用 SendHQ 邮件 DNS 检查工具等工具确认您的记录正确无误。

AI 智能体送达率检查清单

在将智能体部署到生产环境之前,请逐项检查以下清单:

  • DNS 验证:SPF、DKIM 和 DMARC 是否已配置?(详情参阅我们的DKIM、SPF 和 DMARC 指南)。
  • 限定作用域的密钥:智能体的密钥是否限定为特定工作区或域名?
  • 幂等性:每个请求是否都有唯一密钥以防止重复?
  • 速率限制:智能体每小时可发送的邮件数量是否有硬性上限?
  • 抑制同步:智能体是否会在尝试发送前检查抑制列表?
  • 人工参与:是否有机制拦截高风险邮件?

处理错误情况

智能体的编排器必须妥善处理 API 错误。不要让智能体通过修改负载来“尝试修复”401 Unauthorized 或 429 Too Many Requests 错误。这些是基础设施问题,而不是内容问题。

错误码 | 含义 | 智能体应采取的操作

400 Bad Request | 负载无效 | 记录错误,通知开发者,停止智能体

401 Unauthorized | API 密钥无效 | 立即熔断,通知管理员

429 Too Many Requests | 触发速率限制 | 指数退避,不要立即重试

500 Internal Error | 服务商故障 | 排队稍后处理,不要让智能体陷入重试循环

总结

让 AI 智能体能够与客户沟通,是一种强大的效率倍增器,但同时也是一种隐患。把邮件视为副作用、严格限定凭据作用域并实现幂等,您就能在享受 AI 速度的同时,不让域名信誉承担风险。要关注边界,而不只是提示词。

使用 SendHQ 放心构建您的智能体工作流。