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 为必填字符串,支持 from:、to:、subject:、is:unread、has:attachment、after:、before:、older_than:、newer_than: 等语法;max_results 为可选整数,默认 10,最大 50。
- read_email(message_id):读取完整邮件,包括正文和附件。message_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、html_body 为可选,其中 in_reply_to 用于会话线程关联,html_body 为 HTML 版本正文。
- draft_email(...):创建草稿以便后续编辑或发送,参数与 send_email 相同。
- delete_email(message_id, permanent?):删除邮件。message_id 为必填;permanent 为可选布尔值,默认 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?):为邮件添加或移除标签。add_labels 和 remove_labels 为逗号分隔的标签 ID,例如 "STARRED,IMPORTANT" 或 "UNREAD,INBOX"。
- get_email_thread(thread_id):获取某个邮件会话/线程中的所有消息。thread_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:noreply@example.com older_than:30d"
适用场景
适用于需要以程序化方式浏览、搜索、读取、发送、草拟、整理和清理 Gmail 邮件的场景,例如收件箱管理、垃圾邮件清理、旧邮件批量处理以及基于会话线程的邮件回复。
限制
bulk_delete_emails 为永久删除,无法恢复,需用户批准。list_emails 的 max_results 最大为 100,search_emails 的 max_results 最大为 50,bulk_delete_emails 的 max_delete 最大为 100。其余关于认证方式、配额、收费或平台支持等信息暂未提供。