从 macOS 邮件应用中检索指定范围邮件,自动提取事件时间,并在事件前2小时创建提醒事项。
邮件日程 (Email Schedule)是一项面向实际任务的技能,主要用于从 macOS 邮件应用检索邮件,并根据邮件内容自动创建提醒事项;邮件检索 - 从 macOS 邮件应用数据库读取邮件;
today - 今天收到的邮件;yesterday - 昨天到今天收到的邮件;unread - 所有未读邮件。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
从 macOS 邮件应用检索邮件,并根据邮件内容自动创建提醒事项。
today - 今天收到的邮件yesterday - 昨天到今天收到的邮件unread - 所有未读邮件all - 最近 50 封邮件当用户要求处理邮件时:
询问或确认用户要查看的邮件范围:
./scripts/fetch_emails.sh <范围>
范围参数:today | yesterday | unread | all
将邮件 JSON 传递给创建脚本:
./scripts/fetch_emails.sh <范围> | ./scripts/create_reminders.py
格式:
📧 邮件检索完成 查看邮件数量: X 创建提醒数量: Y 提醒详情: • [事件名称] - [时间] • ...
脚本会自动识别以下格式的时间:
2026年3月31日 14:303月31日 下午2点明天 上午10点下周一 14:003/31 14:30brew install steipete/tap/remindctl)直接在终端查询今日邮件:
# 查询今天的邮件(正确的 SQL)
sqlite3 ~/Library/Mail/V10/MailData/Envelope Index
"SELECT datetime(m.date_received, 'unixepoch', 'localtime') as date,
a.address as sender,
s.subject
FROM messages m
LEFT JOIN addresses a ON m.sender = a.ROWID
LEFT JOIN subjects s ON m.subject = s.ROWID
WHERE date(m.date_received, 'unixepoch') = date('now')
ORDER BY m.date_received DESC"
macOS 邮件数据库中的 date_received 和 date_sent 字段存储的是 Unix 时间戳(相对于1970年1月1日的秒数)。
正确的 SQL 查询方式:
-- 正确:直接使用 unixepoch 转换 SELECT datetime(date_received, 'unixepoch', 'localtime') as date FROM messages -- 错误:不需要添加偏移量(这是旧版 Mac CFAbsoluteTime 的方式) -- SELECT datetime(date_received + 978307200, 'unixepoch') -- 会导致日期错误(显示为2057年)
~/Library/Mail/V10/MailData/Envelope Index查询邮件数据库,关联 subjects、addresses、summaries 表获取实际文本内容,返回 JSON 格式的邮件列表。
解析邮件内容,提取时间信息,使用 remindctl CLI 创建提醒事项。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习
最新文章