mcpField
E
email-imap-append

email-imap-append

github.com/tiangong-ai生産性1161 回インストール1 週間前に更新
リポジトリ

email-imap-append について

RFC 5322形式のメール下書きを作成し、IMAPメールボックスに追加するスキルです。スクリプトによるメール作成向けで、MIME添付に対応し、送信は行いません。

主な機能

  1. 01RFC 5322形式の下書き生成
  2. 02テキストとHTMLに対応
  3. 03ローカルファイルの添付
  4. 04メールボックスとフラグの指定
  5. 05機械可読なJSON出力

活用シーン

  1. 01確認用メールをDraftsに保存
  2. 02添付ファイル付き下書きの作成
  3. 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 を返します。

ワークフロー

  1. IMAP 環境変数を設定します(references/env.md と assets/config.example.env を参照してください)。
  2. 設定とデフォルト値を検証します。
python3 scripts/imap_append.py check-config
  1. 下書きメールを 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 は、サニタイズされた IMAP と追加時のデフォルト値を JSON で出力します。
  • append-draft が成功すると、次の内容を含む type=status の JSON オブジェクトを 1 つ出力します。
    • event=imap_draft_appended
    • account、mailbox、subject、message_id
    • 宛先リストと件数
    • flags
    • attachment_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_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

コメント