mcpField
A
apple-mail

apple-mail

github.com/mitsuhiko生产力3.2k252 次安装5 周前更新
代码仓库

关于 apple-mail

用于在 macOS 上搜索、读取 Apple Mail 本地邮件并提取附件的技能。其 Bash 脚本读取 SQLite 索引和 `.emlx` 文件,不会修改邮件数据。

主要功能

  1. 01按发件人、收件人和主题搜索
  2. 02按日期、邮箱或状态筛选
  3. 03以 RFC822 格式读取邮件
  4. 04将附件提取到临时目录
  5. 05只读访问本地邮件

适用场景

  1. 01查找符合条件的邮件
  2. 02读取邮件并查看其元数据
  3. 03提取邮件中的附件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mitsuhiko/agent-stuff --skill apple-mail

安装后在 Claude Code 中输入/apple-mail确认已加载。

附带文件apple-mail.sh

详细介绍

Apple Mail 技能

在 macOS 上搜索、读取 Apple Mail 的本地存储,并提取附件。

工具

apple-mail.sh — 一个 Bash 脚本,用于查询 Apple Mail 的 SQLite 邮件索引,并从磁盘读取 .emlx 文件。只读——不会修改邮件数据。

快速参考

TOOL=~/Development/agent-stuff/skills/apple-mail/apple-mail.sh

# Search emails
$TOOL search --from "peter@" --subject "dinner" --limit 5
$TOOL search --after 2026-02-01 --has-attachment
$TOOL search --body "invoice" --mailbox "INBOX" --unread
$TOOL search --to "armin@" --before 2025-12-31

# Show message metadata, recipients, attachments, and summary
$TOOL info 783660

# Read the raw RFC822 email (headers + body)
$TOOL read 783660

# Extract attachments to a temp directory (prints the path)
$TOOL attachment 783660                          # all attachments
$TOOL attachment 783660 "Rechnung.pdf"           # specific file

# List all mailboxes with counts
$TOOL mailboxes

搜索选项

标志说明
--from <addr>发件人地址子字符串
--to <addr>收件人地址子字符串
--subject <text>主题子字符串
--body <text>正文/摘要文本子字符串
--mailbox <name>邮箱 URL 子字符串(例如 INBOX、Sent、Trash)
--after <YYYY-MM-DD>接收日期晚于指定日期
--before <YYYY-MM-DD>接收日期早于指定日期
--unread仅显示未读邮件
--flagged仅显示已标记邮件
--has-attachment仅显示带附件的邮件
--limit <n>最大结果数(默认值:20)

输出格式

  • search 返回以竖线分隔的表格,并带有标题行: id|sender|sender_name|subject|received|status|flagged|mailbox|attachments
  • info 返回结构化元数据部分
  • read 将原始 RFC822 邮件输出到 stdout
  • attachment 将临时目录路径输出到 stdout,将文件列表输出到 stderr

注意事项

  • 邮件 ID 是 Apple Mail 内部 ROWID(整数),显示在 id 列中
  • .partial.emlx 文件仅包含邮件头(未下载正文);read 会对此发出警告
  • 附件会复制到 /tmp/ 下的临时目录;完成后请清理
  • body 搜索会查询 summaries 表(Apple Mail 的纯文本预览),而非完整邮件正文
  • 邮箱 URL 使用百分号编码(例如 %5BGmail%5D = [Gmail],%20 = 空格)
  • 默认情况下,搜索会排除已删除的邮件

评论

支持 Markdown