mcpField
E
email-imap-append

email-imap-append

github.com/tiangong-ai生产力1161 次安装1 周前更新
代码仓库

关于 email-imap-append

用于通过 IMAP 将 RFC 5322 邮件草稿写入邮箱的技能,适合需要以脚本生成草稿的工作流。支持 MIME 附件和 JSON 状态结果,邮件保持未发送。

主要功能

  1. 01生成 RFC 5322 草稿
  2. 02支持纯文本和 HTML
  3. 03添加本地文件附件
  4. 04设置邮箱和草稿标志
  5. 05输出机器可读 JSON

适用场景

  1. 01将待审核邮件保存到 Drafts
  2. 02创建带附件的邮件草稿
  3. 03检查 IMAP 配置和追加结果

安装

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

$npx skills add https://github.com/tiangong-ai/agent-skills --skill email-imap-append

安装后在 Claude Code 中输入/email-imap-append确认已加载。

详细介绍

Email IMAP Append

核心目标

  • 构建包含主题、正文和收件人的 RFC 5322 草稿邮件。
  • 根据需要将本地文件附加到草稿 MIME 负载中。
  • 使用 APPEND 将草稿 MIME 追加到 IMAP 邮箱。
  • 设置草稿标志(默认 \\Draft),并保持邮件未发送状态。
  • 返回包含追加状态和服务器响应元数据的机器可读 JSON。

工作流

  1. 配置 IMAP 环境变量(参见 references/env.md 和 assets/config.example.env)。
  2. 验证配置和默认值:
python3 scripts/imap_append.py check-config
  1. 将一封草稿邮件追加到 Drafts 邮箱:
python3 scripts/imap_append.py append-draft \
  --to [email protected] \
  --subject "Draft: quarterly update" \
  --body "Please review this draft before sending."
  1. 使用指定邮箱和标志追加 HTML 草稿:
python3 scripts/imap_append.py append-draft \
  --mailbox "Drafts" \
  --flags "\\Draft,\\Seen" \
  --content-type html \
  --subject "Draft: release note" \
  --body "<p>Release note draft for approval.</p>"
  1. 追加带附件的草稿:
python3 scripts/imap_append.py append-draft \
  --to [email protected] \
  --subject "Draft: WG2 package" \
  --body "See attached draft tables." \
  --attach ./wg2-table.xlsx \
  --attach ./notes.docx

输出约定

  • check-config 以 JSON 格式打印经过脱敏处理的 IMAP 和追加默认值。
  • append-draft 成功时,会打印一个 type=status JSON 对象,其中包含:
    • event=imap_draft_appended
    • account、mailbox、subject、message_id
    • 收件人列表和数量
    • flags
    • attachment_count 和 attachments[] 元数据
    • 如果服务器返回 APPENDUID,则包含 append_uidvalidity 和 append_uid
  • append-draft 失败时,会向 stderr 打印 type=error JSON,其中包含 event=imap_append_failed。

参数

  • append-draft --to:可选收件人,可重复指定或以逗号分隔。
  • append-draft --cc:可选抄送收件人列表。
  • append-draft --bcc:可选密送收件人列表。
  • append-draft --subject:可选主题(默认值来自环境变量)。
  • append-draft --body:可选正文(默认值来自环境变量)。
  • append-draft --content-type:plain 或 html。
  • append-draft --from:可选发件人覆盖值。
  • append-draft --mailbox:目标邮箱(默认依次采用 IMAP_APPEND_MAILBOX、IMAP_MAILBOX,然后是 Drafts)。
  • append-draft --flags:追加标志,以逗号分隔(默认 \\Draft)。
  • append-draft --message-id:显式指定 Message-ID 标头。
  • append-draft --in-reply-to:可选 In-Reply-To 标头。
  • append-draft --references:可选 References 标头。
  • append-draft --attach:本地附件路径,可重复指定或以逗号分隔。
  • append-draft --max-attachment-bytes:每个附件允许的最大字节数。

必需环境变量

  • IMAP_HOST
  • IMAP_USERNAME
  • IMAP_PASSWORD

可选默认值:

  • IMAP_NAME
  • IMAP_PORT
  • IMAP_SSL
  • IMAP_CONNECT_TIMEOUT
  • IMAP_MAILBOX
  • IMAP_APPEND_MAILBOX
  • IMAP_APPEND_FLAGS
  • IMAP_APPEND_FROM
  • IMAP_APPEND_TO
  • IMAP_APPEND_CC
  • IMAP_APPEND_BCC
  • IMAP_APPEND_SUBJECT
  • IMAP_APPEND_BODY
  • IMAP_APPEND_CONTENT_TYPE
  • IMAP_APPEND_MAX_ATTACHMENT_BYTES

参考资料

  • references/env.md

资源文件

  • assets/config.example.env

脚本

  • scripts/imap_append.py

评论

支持 Markdown