关于 gmail
用于处理 Gmail 邮件和标签的 Skill,支持浏览与搜索邮件、查看会话、撰写或发送邮件,以及管理标签和删除邮件。
主要功能
- 01列出标签和邮件
- 02使用 Gmail 查询语法搜索
- 03查看邮件和会话线程
- 04发送邮件或保存草稿
- 05管理标签并删除邮件
适用场景
- 01查找特定发件人的未读邮件
- 02回复前查看邮件会话
- 03起草或发送含抄送的邮件
- 04归档、标记或删除匹配邮件
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ aws-samples/ sample-strands-agent-with-agentcore --skill gmail安装后在 Claude Code 中输入/gmail确认已加载。
详细介绍
Gmail
可用工具
-
list_labels():列出所有 Gmail 标签(系统标签:INBOX、SENT、TRASH、SPAM、DRAFT、IMPORTANT、STARRED、UNREAD;以及用户创建的标签)。
-
list_emails(label?, max_results?, include_spam_trash?):按标签列出邮件。
label(字符串,可选,默认值:"INBOX"):用于筛选的标签(INBOX、SENT、DRAFT、TRASH、SPAM、STARRED、IMPORTANT,或自定义标签 ID)max_results(整数,可选,默认值:10,最大值:100):要返回的邮件数量include_spam_trash(布尔值,可选,默认值:false):是否包含 SPAM 和 TRASH
-
search_emails(query, max_results?):使用查询语法搜索 Gmail。
query(字符串,必填):Gmail 搜索查询(from:、to:、subject:、is:unread、has:attachment、after:、before:、older_than:、newer_than:)max_results(整数,可选,默认值:10,最大值:50):结果数量
-
read_email(message_id):读取完整邮件,包括正文和附件。
message_id(字符串,必填):Gmail 邮件 ID(来自 list_emails 或 search_emails)
-
send_email(to, subject, body, cc?, bcc?, reply_to?, in_reply_to?, html_body?):发送邮件。
to(字符串,必填):收件人,多个地址以逗号分隔subject(字符串,必填):邮件主题body(字符串,必填):纯文本邮件正文cc(字符串,可选):抄送收件人bcc(字符串,可选):密送收件人reply_to(字符串,可选):回复地址in_reply_to(字符串,可选):要回复的 Message-ID(用于串联邮件)html_body(字符串,可选):邮件正文的 HTML 版本
-
draft_email(to, subject, body, cc?, bcc?, reply_to?, in_reply_to?, html_body?):创建草稿,以便稍后编辑或发送。参数与
send_email相同。 -
delete_email(message_id, permanent?):删除邮件。
message_id(字符串,必填):Gmail 邮件 IDpermanent(布尔值,可选,默认值:false):如果为 true,则永久删除;如果为 false,则移至回收站
-
bulk_delete_emails(query, reason, max_delete?):按查询条件永久删除多封邮件。此操作无法撤销。
query(字符串,必填):用于查找邮件的 Gmail 搜索查询reason(字符串,必填):面向用户的说明(将在请求用户批准时显示)max_delete(整数,可选,默认值:50,最大值:100):要删除的邮件数量上限
-
modify_email(message_id, add_labels?, remove_labels?):添加或移除邮件标签。
message_id(字符串,必填):Gmail 邮件 IDadd_labels(字符串,可选):要添加的标签 ID,以逗号分隔(例如:"STARRED,IMPORTANT")remove_labels(字符串,可选):要移除的标签 ID,以逗号分隔(例如:"UNREAD,INBOX")
-
get_email_thread(thread_id):获取邮件对话中的所有邮件。
thread_id(字符串,必填):Gmail 对话 ID(来自 read_email 或 search_emails)
使用指南
- 对于 INBOX、SENT、DRAFT、TRASH、SPAM、STARRED 和 IMPORTANT 等标准标签,直接调用
list_emails。仅当用户要求查找自定义标签或标签名称未知时,才使用list_labels。 - Gmail 搜索查询语法:
from:sender、to:recipient、subject:text、is:unread、has:attachment、after:2024/01/01、before:2024/12/31。 - 回复邮件前,使用
get_email_thread查看完整的对话上下文。
常见操作
通过 modify_email 管理标签:
| 操作 | 参数 |
|---|---|
| 标记为已读 | remove_labels="UNREAD" |
| 标记为未读 | add_labels="UNREAD" |
| 归档 | remove_labels="INBOX" |
| 加星标 | add_labels="STARRED" |
| 取消星标 | remove_labels="STARRED" |
| 标记为重要 | add_labels="IMPORTANT" |
批量删除
bulk_delete_emails(query, reason) 会永久删除所有符合 Gmail 查询条件的邮件。此操作无法撤销。
- 始终提供
reason参数,说明操作意图。 - 调用前始终说明将删除的内容,并征得用户确认。
常见查询:
- 清理垃圾邮件:
"is:spam older_than:7d" - 过期未读邮件:
"in:inbox is:unread older_than:14d" - 清理促销邮件:
"category:promotions older_than:30d" - 来自特定发件人的邮件:
"from:[email protected] older_than:30d"
界面使用指南(来自 tools-config)
Gmail 工具用法:
- list_labels:请求的标签未知时,查找自定义标签
- list_emails:按标签浏览邮件(INBOX、SENT、DRAFT、TRASH 等)
- search_emails:使用 Gmail 查询语法(from:、to:、subject:、is:unread、has:attachment、after:、before:)
- read_email:获取完整邮件内容及附件
- send_email:发送邮件,可选抄送、密送和 HTML 正文
- draft_email:创建草稿,以便稍后编辑或发送
- delete_email:移至垃圾箱(永久删除时设置 permanent=True)
- bulk_delete_emails:按查询条件永久删除多封邮件(需要用户批准)
- modify_email:添加或移除标签(标记为已读:移除 UNREAD;归档:移除 INBOX;加星标:添加 STARRED)
- get_email_thread:查看完整邮件对话串
批量删除(bulk_delete_emails):
- 用于清理垃圾邮件、清除过期邮件等
- 始终提供 'reason' 参数,说明操作意图
- 常见查询:"is:spam older_than:7d"、"in:inbox is:unread older_than:14d"、"category:promotions older_than:30d"
- 警告:邮件将被永久删除,无法恢复
常见操作:
- 标记为已读:modify_email(id, remove_labels="UNREAD")
- 归档:modify_email(id, remove_labels="INBOX")
- 加星标:modify_email(id, add_labels="STARRED")
- 标记为重要:modify_email(id, add_labels="IMPORTANT")