360 Secure SkillHub
360 安全技能中心

email_skill

该技能提供 Python 脚本,支持发送带附件的纯文本邮件、列出收件箱、获取邮件详情、回复、标记已读和删除邮件,各动作返回 JSON 结果。邮箱地址与授权码通过环境变量传入,需安装 requirements.txt 中的依赖。

xiaq528
xiaq528
热度 16.02
最近更新 2026-04-25 11:26:48
分类:协作依赖:代码执行 / 读写文件 / 第三方 API应用场景:邮件起草 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add email-agent-skill
Metadata
name
email-agent-skill
description
通过 SMTP/IMAP 协议发送、接收和管理电子邮件的智能体技能。
trigger
当用户要求发送邮件、查看收件箱、读取邮件内容、回复邮件、标记已读或删除邮件时。

电子邮件助手技能 (Email Agent Skill)

此技能赋予 AI 智能体完整的电子邮件处理能力,支持发送带附件的邮件、列出收件箱邮件、获取邮件详情、回复、标记已读及删除等操作。

功能概述

动作 (action) 说明
send 发送纯文本邮件,支持多个附件
list 列出指定邮箱中的最近邮件(默认 INBOX)
get 根据邮件 ID 获取单封邮件的完整内容
reply 回复指定邮件,自动添加 Re: 前缀和引用原文
mark_read 将邮件标记为已读
delete 删除指定邮件(移至已删除)

指令 (Instructions)

当智能体被触发调用此技能时,请遵循以下步骤:

1. 环境准备

  • 确保已安装 requirements.txt 中的依赖包。
  • 从 .env.example 复制一份 .env 文件,并填入真实的邮箱配置(必须使用授权码,而非登录密码)。

2. 执行方式

调用 scripts/email_skill.py 中定义的 email_skill 函数,传入对应的 action 和所需参数。

3. 参数说明

所有请求均需包含 action 参数,其余参数按需提供:

参数名 类型 适用动作 描述
action string 全部 必选,操作类型:send、list、get、reply、mark_read、delete
to string send, reply 收件人邮箱地址
subject string send, reply 邮件主题
body string send, reply 邮件正文(纯文本)
attachments array send 附件文件的绝对路径列表,可选
mailbox string list, get, reply, mark_read, delete 邮箱文件夹名称,默认 INBOX
limit integer list 返回的邮件数量,默认 10
email_id string get, reply, mark_read, delete 邮件的唯一标识符(UID)
include_body boolean list 是否在列表中包含邮件正文,默认 false

4. 返回值

所有动作均返回一个 JSON 格式的字典,包含 success 字段表示操作是否成功。成功时返回相应数据(如邮件列表、邮件内容),失败时返回 error 字段说明原因。

5. 安全与最佳实践

  • 邮箱密码必须使用应用专用密码(授权码),不得使用登录密码。
  • 敏感信息(邮箱地址、授权码)应通过环境变量传入,不得硬编码。
  • 在回复邮件前,确保已通过 get 动作获取了正确的原邮件信息。

代码依赖

  • Python 3.8+
  • 详见 requirements.txt

示例对话

  • 用户:“帮我给 boss@company.com 发一封主题为‘项目进度’的邮件,内容是……”
  • 智能体:调用 action="send" 完成发送。
  • 用户:“看看我的收件箱里有没有新邮件。”
  • 智能体:调用 action="list" 返回最近的邮件摘要。
  • 用户:“把刚才那封关于会议的邮件删掉。”
  • 智能体:先调用 list 或 get 定位邮件 ID,再调用 action="delete"。