关于 email-imap-append
用于通过 IMAP 将 RFC 5322 邮件草稿写入邮箱的技能,适合需要以脚本生成草稿的工作流。支持 MIME 附件和 JSON 状态结果,邮件保持未发送。
主要功能
- 01生成 RFC 5322 草稿
- 02支持纯文本和 HTML
- 03添加本地文件附件
- 04设置邮箱和草稿标志
- 05输出机器可读 JSON
适用场景
- 01将待审核邮件保存到 Drafts
- 02创建带附件的邮件草稿
- 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。
工作流
- 配置 IMAP 环境变量(参见
references/env.md和assets/config.example.env)。 - 验证配置和默认值:
python3 scripts/imap_append.py check-config
- 将一封草稿邮件追加到 Drafts 邮箱:
python3 scripts/imap_append.py append-draft \
--to [email protected] \
--subject "Draft: quarterly update" \
--body "Please review this draft before sending."
- 使用指定邮箱和标志追加 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>"
- 追加带附件的草稿:
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=statusJSON 对象,其中包含:event=imap_draft_appendedaccount、mailbox、subject、message_id- 收件人列表和数量
flagsattachment_count和attachments[]元数据- 如果服务器返回
APPENDUID,则包含append_uidvalidity和append_uid
append-draft失败时,会向 stderr 打印type=errorJSON,其中包含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_HOSTIMAP_USERNAMEIMAP_PASSWORD
可选默认值:
IMAP_NAMEIMAP_PORTIMAP_SSLIMAP_CONNECT_TIMEOUTIMAP_MAILBOXIMAP_APPEND_MAILBOXIMAP_APPEND_FLAGSIMAP_APPEND_FROMIMAP_APPEND_TOIMAP_APPEND_CCIMAP_APPEND_BCCIMAP_APPEND_SUBJECTIMAP_APPEND_BODYIMAP_APPEND_CONTENT_TYPEIMAP_APPEND_MAX_ATTACHMENT_BYTES
参考资料
references/env.md
资源文件
assets/config.example.env
脚本
scripts/imap_append.py
评论
支持 Markdown