email-imap-append について
RFC 5322形式のメール下書きを作成し、IMAPメールボックスに追加するスキルです。スクリプトによるメール作成向けで、MIME添付に対応し、送信は行いません。
主な機能
- 01RFC 5322形式の下書き生成
- 02テキストとHTMLに対応
- 03ローカルファイルの添付
- 04メールボックスとフラグの指定
- 05機械可読なJSON出力
活用シーン
- 01確認用メールをDraftsに保存
- 02添付ファイル付き下書きの作成
- 03IMAP設定と追加結果の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
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 ペイロードに添付します。
- 下書きの MIME を
APPENDを使って IMAP メールボックスに追加します。 - 下書きフラグ(デフォルトは
\\Draft)を設定し、メッセージを未送信の状態に保ちます。 - 追加ステータスとサーバー応答のメタデータを含む、機械可読な JSON を返します。
ワークフロー
- IMAP 環境変数を設定します(
references/env.mdとassets/config.example.envを参照してください)。 - 設定とデフォルト値を検証します。
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."
- メールボックスとフラグを明示して 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は、サニタイズされた IMAP と追加時のデフォルト値を JSON で出力します。append-draftが成功すると、次の内容を含むtype=statusの JSON オブジェクトを 1 つ出力します。event=imap_draft_appendedaccount、mailbox、subject、message_id- 宛先リストと件数
flagsattachment_countとattachments[]のメタデータ- サーバーが
APPENDUIDを返した場合はappend_uidvalidityとappend_uid
append-draftが失敗すると、event=imap_append_failedを含むtype=errorの JSON を stderr に出力します。
パラメーター
append-draft --to:任意の宛先。複数回指定するか、カンマ区切りで指定できます。append-draft --cc:任意の CC 宛先リスト。append-draft --bcc:任意の 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 対応