SuperAPI AI 工具集

email

办公与效率

查看项目

更新于 10-15 09:44

技能介绍

用途

该技能为 AI 助手提供直接的邮件收发能力,通过 IMAP 和 SMTP 协议访问邮箱,可用于发送邮件、获取邮件列表以及读取指定邮件的完整内容。它适合需要将邮件操作集成到自动化流程中的场景,例如发送提醒、监控收件箱、提取邮件信息等。

主要能力

  • 通过 SMTP 发送邮件,支持 TLS 加密,正文可内联或从文件读取,支持抄送。
  • 通过 IMAP 获取指定邮箱文件夹的邮件头列表,可指定数量。
  • 按邮件 ID 读取完整邮件内容,可选择仅读取头部、正文或全部。
  • 支持多账号管理,账号信息通过 YAML 文件配置。
  • 密码存储在 macOS Keychain 中,不写入配置文件。
  • 使用 curl 配合 OpenSSL/LibreSSL,对腾讯企业邮箱等有更好的 TLS 兼容性。

使用方式

技能包含三个脚本,位于 scripts 目录下:

  1. 发送邮件:./scripts/send-email.sh -t recipient@example.com -s "Subject" -b "Message",也可用 -f message.txt 从文件读取正文,用 -c 添加抄送。
  2. 获取邮件列表:./scripts/fetch-emails.sh 默认获取收件箱最新 10 封,可用 -n 20 指定数量,用 -m "Sent" 指定文件夹。
  3. 读取邮件:./scripts/read-email.sh 123 读取完整邮件,可用 -p HEADER 或 -p BODY 仅读取部分。

账号配置在 references/accounts.yaml 中,需设置默认账号及各账号的 IMAP/SMTP 主机、端口、登录名和协议。密码通过 macOS 的 security add-generic-password 命令存入 Keychain,服务名遵循 email-imap-{account_name_lowercase} 和 email-smtp-{account_name_lowercase} 的命名规则。

搜索或过滤可通过管道结合 rg 或 grep 对获取的邮件头进行客户端筛选,例如 ./scripts/fetch-emails.sh -n 200 | rg -i "github" -B 2,再提取邮件 ID 后用 read-email.sh 读取正文。

适用场景

  • 快速发送邮件,如会议跟进、提醒等。
  • 检查收件箱最新邮件并汇总。
  • 按关键字筛选近期邮件并读取指定邮件。
  • 与其他技能结合实现自动化,如检查日历后发送提醒、监控收件箱后创建系统通知、获取邮件后解析提取信息。

限制与注意事项

  • 密码仅存储在 macOS Keychain 中,不显示或记录。
  • 发送重要邮件前应确认,并验证收件人地址。
  • 未经明确请求不应读取邮件。
  • 腾讯企业邮箱的 IMAP SEARCH 对字符串条件可能不可靠,建议使用客户端过滤。
  • 不同邮箱服务商(腾讯企业邮箱、Gmail、Outlook/Office 365)的 IMAP/SMTP 配置和认证要求不同,需按各自说明设置。
  • 部分功能如附件处理、HTML 邮件撰写、OAuth2 认证等尚未实现。