AWSSESTool 支持智能体使用 Amazon Simple Email Service (SES) 发送电子邮件。
先决条件
下面的示例需要 boto3
库和有效的 AWS 凭证。您可以通过 pip 安装 boto3
:
您还必须配置您的 AWS 凭证,以便 SDK 能够向 SES 进行身份验证。最简单的方法是通过 AWS CLI:
aws configure
# 或手动设置环境变量
export AWS_ACCESS_KEY_ID=****
export AWS_SECRET_ACCESS_KEY=****
export AWS_DEFAULT_REGION=us-east-1
请确保您已在 SES 控制台 中验证了您想用作发件人的域名或电子邮件地址(如果仍处于沙盒模式,也包括收件人地址)。
下面的智能体将研究最新的 AI 新闻,然后通过 AWS SES 发送摘要电子邮件:
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.aws_ses import AWSSESTool
from agno.tools.duckduckgo import DuckDuckGoTools
# 配置邮件设置
sender_email = "verified-sender@example.com" # 您已验证的 SES 邮箱
sender_name = "发件人名称"
region_name = "us-east-1"
agent = Agent(
name="研究新闻快报智能体",
model=OpenAIChat(id="gpt-4o"),
tools=[
AWSSESTool(
sender_email=sender_email,
sender_name=sender_name,
region_name=region_name
),
DuckDuckGoTools(),
],
markdown=True,
show_tool_calls=True,
instructions=[
"当收到提示时:",
"1. 提取收件人的完整电子邮件地址(例如 user@domain.com)",
"2. 使用 DuckDuckGo 研究最新的 AI 发展动态",
"3. 撰写一封简洁、吸引人的电子邮件,总结 3-4 个关键发展",
"4. 使用 AWS SES 通过 send_email 工具发送电子邮件",
],
)
agent.print_response(
"研究医疗保健领域的最新 AI 发展动态,并将摘要发送至 johndoe@example.com"
)
工具包参数
参数 | 类型 | 默认值 | 描述 |
---|
sender_email | str | None | 已验证的 SES 发件人地址。 |
sender_name | str | None | 显示给收件人的名称。 |
region_name | str | "us-east-1" | SES 所在的 AWS 区域。 |
工具包函数
函数 | 描述 |
---|
send_email | 发送纯文本电子邮件。接受参数:subject 、body 、receiver_email 。 |
开发者资源
Responses are generated using AI and may contain mistakes.