EngageLab Email CLI

EngageLab Email CLI は、エージェントと開発者がコマンドラインから受信メールと送信メールを操作するのを支援します。

以下の用途で使用できます:

  • 利用可能なメールボックスの一覧表示
  • メールスレッドの一覧表示と検査
  • 受信メッセージの読み取り
  • 新着受信メッセージのポーリング
  • 受信メッセージへの返信
  • 新規メールの送信

インストール

npm install -g @engagelabemail/cli
              
              npm install -g @engagelabemail/cli

            
このコードブロックはフローティングウィンドウ内に表示されます

インストールされているバージョンを確認:

engagelab-email-cli -V
              
              engagelab-email-cli -V

            
このコードブロックはフローティングウィンドウ内に表示されます

EngageLab Email に接続するコマンドを実行すると、CLI は新しい CLI バージョンが利用可能かどうかを確認します。更新が必要な場合は、処理を停止して更新コマンドを表示します:

npm install -g @engagelabemail/cli@latest
              
              npm install -g @engagelabemail/cli@latest

            
このコードブロックはフローティングウィンドウ内に表示されます

設定

保存された設定の管理

config コマンドグループを使用して、ローカル認証情報の保存、表示、またはクリアを行います。

サービスアドレスとシークレットキーをローカルに保存:

engagelab-email-cli config set --base-url http://localhost:8087 --secret-key sk_xxx
              
              engagelab-email-cli config set --base-url http://localhost:8087 --secret-key sk_xxx

            
このコードブロックはフローティングウィンドウ内に表示されます

保存された設定を表示:

engagelab-email-cli config list
              
              engagelab-email-cli config list

            
このコードブロックはフローティングウィンドウ内に表示されます

保存された設定をクリア:

engagelab-email-cli config clear
              
              engagelab-email-cli config clear

            
このコードブロックはフローティングウィンドウ内に表示されます

config list はシークレットキーをマスクします。

任意のビジネスコマンドでグローバル認証情報を使用

認証情報を先に保存する必要はありません。threads ...emails ... などの任意のビジネスコマンドの前に、直接 --base-url--secret-key を渡すことができます。これらのコマンドライン認証情報は現在のコマンドにのみ適用され、保存された設定を上書きすることはありません。

例:

engagelab-email-cli --base-url http://localhost:8087 --secret-key sk_xxx threads get thread-1
              
              engagelab-email-cli --base-url http://localhost:8087 --secret-key sk_xxx threads get thread-1

            
このコードブロックはフローティングウィンドウ内に表示されます

クイックスタート

最近の受信メッセージを一覧表示:

engagelab-email-cli emails receiving list --mailbox-id 12 --page-size 20
              
              engagelab-email-cli emails receiving list --mailbox-id 12 --page-size 20

            
このコードブロックはフローティングウィンドウ内に表示されます

受信メッセージを 1 件読み取る:

engagelab-email-cli emails receiving get <message-uid>
              
              engagelab-email-cli emails receiving get <message-uid>

            
このコードブロックはフローティングウィンドウ内に表示されます

メッセージ周辺の完全なスレッドを表示:

engagelab-email-cli threads messages <thread-id> --include-content --limit 10
              
              engagelab-email-cli threads messages <thread-id> --include-content --limit 10

            
このコードブロックはフローティングウィンドウ内に表示されます

受信メッセージに返信:

engagelab-email-cli emails receiving reply <message-uid> --subject "Re: Hello" --text "Thanks, we received your message."
              
              engagelab-email-cli emails receiving reply <message-uid> --subject "Re: Hello" --text "Thanks, we received your message."

            
このコードブロックはフローティングウィンドウ内に表示されます

新規メールを送信:

engagelab-email-cli emails send \ --mailbox-id 1001 \ --to alice@example.com \ --subject "Hello" \ --text "Hello from EngageLab Email CLI."
              
              engagelab-email-cli emails send \
  --mailbox-id 1001 \
  --to alice@example.com \
  --subject "Hello" \
  --text "Hello from EngageLab Email CLI."

            
このコードブロックはフローティングウィンドウ内に表示されます

スクリプトやエージェント向けに、--json を追加して機械可読な出力を取得:

engagelab-email-cli emails receiving list --mailbox-id 12 --page-size 20 --json
              
              engagelab-email-cli emails receiving list --mailbox-id 12 --page-size 20 --json

            
このコードブロックはフローティングウィンドウ内に表示されます

コマンド

config set

ローカル設定を保存します。

オプション 説明
--base-url <url> サービスアドレス。設定されている場合は ENGAGELAB_EMAIL_BASE_URL がデフォルトになります。
--secret-key <key> シークレットキー。設定されている場合は ENGAGELAB_EMAIL_SECRET_KEY がデフォルトになります。

例:

engagelab-email-cli config set --base-url http://localhost:8087 --secret-key sk_xxx
              
              engagelab-email-cli config set --base-url http://localhost:8087 --secret-key sk_xxx

            
このコードブロックはフローティングウィンドウ内に表示されます

config list

保存された設定を表示します。

例:

engagelab-email-cli config list
              
              engagelab-email-cli config list

            
このコードブロックはフローティングウィンドウ内に表示されます

config clear

baseUrlsecretKey を含む、保存されたローカル設定をクリアします。

例:

engagelab-email-cli config clear
              
              engagelab-email-cli config clear

            
このコードブロックはフローティングウィンドウ内に表示されます

mailbox list

利用可能なメールボックスを一覧表示します。

オプション 説明
--mailbox <address> メールボックスアドレスでフィルタ。
--page-no <number> ページ番号。
--page-size <number> ページサイズ。
--json 生の JSON を出力。

例:

engagelab-email-cli mailbox list --page-size 20
              
              engagelab-email-cli mailbox list --page-size 20

            
このコードブロックはフローティングウィンドウ内に表示されます

threads list

メールスレッドを一覧表示します。

オプション 説明
--mailbox-id <id> メールボックス ID でフィルタ。
--subject <text> 正規化された件名で検索。
--participant <email> 参加者で検索。
--start-time <timestamp> 最新メッセージの開始タイムスタンプ(ミリ秒)。
--end-time <timestamp> 最新メッセージの終了タイムスタンプ(ミリ秒)。
--page-no <number> ページ番号。
--page-size <number> ページサイズ。
--json 生の JSON を出力。

例:

engagelab-email-cli threads list --subject refund --page-no 1 --page-size 20
              
              engagelab-email-cli threads list --subject refund --page-no 1 --page-size 20

            
このコードブロックはフローティングウィンドウ内に表示されます

threads get <thread-id>

単一のスレッドを表示します。

引数/オプション 説明
<thread-id> スレッド ID。
--json 生の JSON を出力。

例:

engagelab-email-cli threads get b0d9d6a1-1d17-4df8-8245-c807d7e8cb50
              
              engagelab-email-cli threads get b0d9d6a1-1d17-4df8-8245-c807d7e8cb50

            
このコードブロックはフローティングウィンドウ内に表示されます

threads messages <thread-id>

スレッド内のメッセージを一覧表示します。

引数/オプション 説明
<thread-id> スレッド ID。
--limit <number> メッセージの上限数。
--include-content text/html/headers/attachments を含める。
--json 生の JSON を出力。

例:

engagelab-email-cli threads messages b0d9d6a1-1d17-4df8-8245-c807d7e8cb50 --include-content --json
              
              engagelab-email-cli threads messages b0d9d6a1-1d17-4df8-8245-c807d7e8cb50 --include-content --json

            
このコードブロックはフローティングウィンドウ内に表示されます

emails receiving list

受信メッセージを一覧表示します。

オプション 説明
--mailbox-id <id> メールボックス ID でフィルタ。
--keyword <text> 検索キーワード。
--page-no <number> ページ番号。
--page-size <number> ページサイズ。
--json 生の JSON を出力。

例:

engagelab-email-cli emails receiving list --keyword refund --page-size 20
              
              engagelab-email-cli emails receiving list --keyword refund --page-size 20

            
このコードブロックはフローティングウィンドウ内に表示されます

emails receiving get <message-uid>

単一の受信メッセージを表示します。

引数/オプション 説明
<message-uid> メッセージ UID。
--json 生の JSON を出力。

例:

engagelab-email-cli emails receiving get 7e2b2de6-14c5-4ef1-a1e2-f4337e4606e2 --json
              
              engagelab-email-cli emails receiving get 7e2b2de6-14c5-4ef1-a1e2-f4337e4606e2 --json

            
このコードブロックはフローティングウィンドウ内に表示されます

emails receiving listen

新着受信メッセージをポーリングします。このコマンドは Ctrl+C で停止するまで実行を続けます。

オプション 説明
--after <id> 前回の結果からのカーソル ID。
--limit <number> メッセージの上限数。
--interval <seconds> ポーリング間隔(秒)(最小 2)。
--json 1 行に 1 つの JSON メッセージを出力。

例:

engagelab-email-cli emails receiving listen --limit 10 --interval 5 --json
              
              engagelab-email-cli emails receiving listen --limit 10 --interval 5 --json

            
このコードブロックはフローティングウィンドウ内に表示されます

既知のカーソルから続行:

engagelab-email-cli emails receiving listen --after 1500 --limit 10 --interval 5 --json
              
              engagelab-email-cli emails receiving listen --after 1500 --limit 10 --interval 5 --json

            
このコードブロックはフローティングウィンドウ内に表示されます

emails receiving reply <message-uid>

受信メッセージに返信します。

引数/オプション 説明
<message-uid> 返信先のメッセージ UID。
--subject <text> 返信の件名。
--text <text> プレーンテキスト本文。
--html <html> HTML 本文。
--text-file <path> ファイルからプレーンテキスト本文を読み取り。
--html-file <path> ファイルから HTML 本文を読み取り。
--cc <email> CC アドレス。繰り返し使用可。
--bcc <email> BCC アドレス。繰り返し使用可。
--reply-to <email> Reply-To アドレス。繰り返し使用可。
--preview-text <text> メールプレビューテキスト。
--attachment <path> ローカルファイルを添付。繰り返し使用可。--disposition との併用が必要です。最大 10 ファイル、base64 エンコード後合計 10MB(約 7.5MB の生ファイル)まで。
--disposition <value> 添付ファイルの種別:attachment または inline--attachment 使用時は必須です。繰り返し指定するか、全添付ファイルに対して一度に指定できます。
--content-id <id> インライン画像添付用の Content-ID。画像添付で --disposition inline を使用する場合は必須です。
--sandbox サンドボックスモードで送信。
--json 生の JSON を出力。

例:

engagelab-email-cli emails receiving reply 7e2b2de6-14c5-4ef1-a1e2-f4337e4606e2 \ --subject "Re: Refund update" \ --text "Thanks, we received your message." \ --attachment ./receipt.pdf \ --disposition attachment
              
              engagelab-email-cli emails receiving reply 7e2b2de6-14c5-4ef1-a1e2-f4337e4606e2 \
  --subject "Re: Refund update" \
  --text "Thanks, we received your message." \
  --attachment ./receipt.pdf \
  --disposition attachment

            
このコードブロックはフローティングウィンドウ内に表示されます

emails send

新規メールを送信します。

オプション 説明
--mailbox-id <id> メールボックス ID。
--from <email> 送信者メールアドレス。
--to <email> 受信者メールアドレス。繰り返し使用可。
--subject <text> メール件名。
--text <text> プレーンテキスト本文。
--html <html> HTML 本文。
--text-file <path> ファイルからプレーンテキスト本文を読み取り。
--html-file <path> ファイルから HTML 本文を読み取り。
--cc <email> CC アドレス。繰り返し使用可。
--bcc <email> BCC アドレス。繰り返し使用可。
--reply-to <email> Reply-To アドレス。繰り返し使用可。
--preview-text <text> メールプレビューテキスト。
--attachment <path> ローカルファイルを添付。繰り返し使用可。--disposition との併用が必要です。最大 10 ファイル、base64 エンコード後合計 10MB(約 7.5MB の生ファイル)まで。
--disposition <value> 添付ファイルの種別:attachment または inline--attachment 使用時は必須です。繰り返し指定するか、全添付ファイルに対して一度に指定できます。
--content-id <id> インライン画像添付用の Content-ID。画像添付で --disposition inline を使用する場合は必須です。
--sandbox サンドボックスモードで送信。
--json 生の JSON を出力。

例:

engagelab-email-cli emails send \ --mailbox-id 1001 \ --to alice@example.com \ --to bob@example.com \ --subject "Refund update" \ --text "Your refund has been processed." \ --attachment ./receipt.pdf \ --disposition attachment
              
              engagelab-email-cli emails send \
  --mailbox-id 1001 \
  --to alice@example.com \
  --to bob@example.com \
  --subject "Refund update" \
  --text "Your refund has been processed." \
  --attachment ./receipt.pdf \
  --disposition attachment

            
このコードブロックはフローティングウィンドウ内に表示されます

インライン画像添付付きの HTML を送信:

engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Inline image" --html "<p>Logo <img src=cid:image_1000></p>" --attachment ./logo.png --disposition inline --content-id image_1000
              
              engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Inline image" --html "<p>Logo <img src=cid:image_1000></p>" --attachment ./logo.png --disposition inline --content-id image_1000

            
このコードブロックはフローティングウィンドウ内に表示されます

添付ファイルのメタデータは、互換性のある 2 つの方法で渡すことができます。推奨される形式は、メタデータを各ファイルパスにバインドするもので、複数の添付ファイルがある場合のあいまいさを回避できます:

engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Mixed attachments" --html "<p>Logo <img src=cid:image_1000></p>" --attachment "./receipt.pdf;disposition=attachment" --attachment "./logo.png;disposition=inline;content_id=image_1000"
              
              engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Mixed attachments" --html "<p>Logo <img src=cid:image_1000></p>" --attachment "./receipt.pdf;disposition=attachment" --attachment "./logo.png;disposition=inline;content_id=image_1000"

            
このコードブロックはフローティングウィンドウ内に表示されます

互換性のため、従来の分割オプション形式もサポートされています:

engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Inline image" --html "<p>Logo <img src=cid:image_1000></p>" --attachment ./logo.png --disposition inline --content-id image_1000
              
              engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Inline image" --html "<p>Logo <img src=cid:image_1000></p>" --attachment ./logo.png --disposition inline --content-id image_1000

            
このコードブロックはフローティングウィンドウ内に表示されます

同じコマンド内で、インライン添付メタデータ形式(path;disposition=...)と --disposition または --content-id を混在させないでください。

ファイルから HTML コンテンツを送信:

engagelab-email-cli emails send \ --mailbox-id 1001 \ --to alice@example.com \ --subject "Monthly report" \ --html-file ./report.html
              
              engagelab-email-cli emails send \
  --mailbox-id 1001 \
  --to alice@example.com \
  --subject "Monthly report" \
  --html-file ./report.html

            
このコードブロックはフローティングウィンドウ内に表示されます

出力

デフォルトでは、CLI は可読なテーブルまたはサマリーを出力し、リクエストの実行中に短い読み込みメッセージを表示します。

他のツールやスクリプトが結果を解析する必要がある場合は、--json を使用してください。

engagelab-email-cli emails receiving get <message-uid> --json
              
              engagelab-email-cli emails receiving get <message-uid> --json

            
このコードブロックはフローティングウィンドウ内に表示されます

emails receiving listen --json は、1 行に 1 つのメッセージ JSON オブジェクトを出力します。

エラー

人間可読なエラーには、API がビジネスエラーコードを返した場合にそのコードが含まれます(例:[100101] unauthorized)。

--json エラーは次の形式を使用します:

{ "error": { "code": "auth_error", "errorCode": 100101, "message": "unauthorized" } }
              
              {
  "error": {
    "code": "auth_error",
    "errorCode": 100101,
    "message": "unauthorized"
  }
}

            
このコードブロックはフローティングウィンドウ内に表示されます

終了コード:

終了コード 意味
1 パラメータエラーまたは設定の欠落
2 認証失敗
3 リソースが見つかりません
4 競合または進行中の状態
5 サーバーエラーまたはネットワークエラー
Icon Solid Transparent White Qiyu
お問い合わせ