邮件工具Skill gmail-tools

一款通过IMAP/SMTP安全访问Gmail的工具,支持邮件的读取、管理、搜索、发送和回复,同时保持邮件线程的连续性。

DevOps 0 次安装 0 次浏览 更新于 3/2/2026

name: 邮件工具 description: 通过IMAP/SMTP安全访问Gmail,并使用1Password存储凭证。支持列出、阅读、搜索、发送和回复邮件,同时保持适当的线程和附件。

邮件工具

通过IMAP/SMTP安全访问Gmail,并使用1Password存储凭证。支持列出、阅读、搜索、发送和回复邮件,同时保持适当的线程和附件。

使用场景

  • 阅读和管理Gmail邮件
  • 发送带附件的邮件
  • 在保持线程连续性的同时回复邮件
  • 使用IMAP查询搜索邮件

前提条件

1Password设置

创建一个1Password项目,包含:

  • 项目名称:任何描述性名称(例如,“工作Gmail”,“个人Gmail”)
  • 用户名字段:您的Gmail地址(例如,user@gmail.com
  • 密码字段:Gmail应用密码(不是您的常规密码)

获取Gmail应用密码

  1. 访问Google账户安全
  2. 如果尚未启用,启用两步验证
  3. 转到“应用密码”(在“两步验证”下)
  4. 为“邮件”生成一个新的应用密码
  5. 将16位密码复制到您的1Password项目

MCP服务器工具

插件提供以下MCP工具:

list_emails

列出账户中的近期邮件。

account: "工作Gmail"  # 1Password项目名称
folder: "INBOX"               # 可选,默认:INBOX
limit: 10                     # 可选,默认:10

read_email

阅读完整的邮件内容,包括线程头。

account: "工作Gmail"
email_id: "46"                # 来自list_emails
folder: "INBOX"               # 可选

send_email

发送新邮件,可选附件。

account: "工作Gmail"
to: "recipient@example.com"
subject: "Hello"
body: "邮件内容在这里"
cc: "cc@example.com"          # 可选
bcc: "bcc@example.com"        # 可选
attachments: ["/path/to/file.pdf"]  # 可选

reply_email

回复邮件,保持线程。

account: "工作Gmail"
email_id: "46"                # 回复的邮件
body: "感谢您的邮件!"
attachments: ["/path/to/doc.pdf"]  # 可选
folder: "INBOX"               # 可选

search_emails

使用IMAP语法搜索。

account: "工作Gmail"
query: "FROM sender@example.com"  # 或者 "SUBJECT hello", "UNSEEN", 等等。
folder: "INBOX"               # 可选
limit: 10                     # 可选

独立脚本

对于不使用MCP的CLI,使用scripts/中的脚本:

列出邮件

./scripts/gmail_list.py "工作Gmail" --limit 20
./scripts/gmail_list.py "工作Gmail" --json  # JSON输出

阅读邮件

./scripts/gmail_read.py "工作Gmail" "46"
./scripts/gmail_read.py "工作Gmail" "46" --json

回复邮件

# 预览(不发送)
./scripts/gmail_reply.py "工作Gmail" "46" \
  --body "感谢您的邮件。" \
  --attachment ~/document.pdf \
  --dry-run

# 发送回复
./scripts/gmail_reply.py "工作Gmail" "46" \
  --body "感谢您的邮件。" \
  --attachment ~/document.pdf

邮件线程

当使用reply_email时,工具自动:

  1. 提取原始邮件的Message-IDReferences
  2. In-Reply-To设置为原始Message-ID
  3. 构建适当的References头链
  4. 如果主题中没有RE:前缀,则添加
  5. 发送到发件人的电子邮件地址

这确保了在所有电子邮件客户端中回复都出现在同一个线程中。

常见的IMAP搜索查询

查询 描述
ALL 所有消息
UNSEEN 未读消息
FROM "john" 来自包含"john"的发件人
SUBJECT "meeting" 主题包含"meeting"
SINCE "01-Jan-2024" 自日期以来的消息
BEFORE "01-Jan-2024" 日期之前的消息
BODY "keyword" 正文包含"keyword"

使用括号组合:(FROM "john" SUBJECT "meeting")

故障排除

“1Password项目未找到”

验证您使用的1Password项目名称是否完全匹配。

“认证失败”

  • 确保您使用的是应用密码,而不是您的常规Gmail密码
  • 验证您的Google账户已启用2FA
  • 检查应用密码是否未被撤销

“IMAP未启用”

在Gmail设置→转发和POP/IMAP→启用IMAP