AWSSESTool 支持智能体使用 Amazon Simple Email Service (SES) 发送电子邮件。

先决条件

下面的示例需要 boto3 库和有效的 AWS 凭证。您可以通过 pip 安装 boto3

pip install 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 发送摘要电子邮件:

aws_ses_tools.py
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_emailstrNone已验证的 SES 发件人地址。
sender_namestrNone显示给收件人的名称。
region_namestr"us-east-1"SES 所在的 AWS 区域。

工具包函数

函数描述
send_email发送纯文本电子邮件。接受参数:subjectbodyreceiver_email

开发者资源