Skip to main content
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

开发者资源