ドキュメント本文へスキップ
CLI

メール

任意の本文と添付ファイルで送信し、メールボックスを読み、検索し、返信し、スレッドを整理し、使い捨て受信トレイを使います。

送信

ターミナル
openemail send --to [email protected] --subject "Lunch?" --text "Thursday at noon works for me."

本文は、次のうち最初に見つかったものから取られます:

  1. --text と --html。両方のパートが必要なら両方を指定します。
  2. --body-file <path>。.html または .htm ファイルは HTML として、それ以外はテキストとして送られ、- は stdin を読みます。
  3. stdin にパイプされた内容。HTML タグで始まる入力は HTML として送られます。
  4. ターミナルで実行した場合はエディター($VISUAL、次に $EDITOR)。

--from がない場合、CLI は送信できる唯一のアドレスから送るか、ターミナルでアドレスを選ばせます。無人実行でアドレスが複数あるときは停止して --from を求めます。ターミナルでは送信前に概要を確認して承認します。--yes はこれを省略します。

フラグ機能
--to, --cc, --bcc宛先。カンマ区切りか繰り返しで指定します。Ada Lovelace <[email protected]> も使えます
--from, --reply-to送信元アドレスと Reply-To ヘッダー
-s, --subject件名
-a, --attach <path>ファイルを添付します。複数ある場合は繰り返します
--at <when>後で送信:2026-10-01T09:00:00Z のような ISO 時刻、または 10m、2h、1d、PT1H のような遅延
--undo <seconds>即時送信を最大 900 秒保留し、まだ取り消せるようにします
--translate <language>送信前にメールをこの言語に翻訳します
--template <id>, --props <json>本文の代わりに、保存済みのテンプレートを props とともに送ります
--draft <id>保存済みの下書きを書かれたとおりに送ります
--thread <id>送信したメールをこのスレッドに入れます
--tag <key=value>メールにタグを付けます。複数ある場合は繰り返します
--idempotency-key <key>同じキーでコマンドを再実行しても、二重に送信されることはありません
その他の送信例
cat report.md | openemail send --to [email protected] --subject "Weekly report" --attach chart.pngopenemail send --to [email protected] --subject "Invoice" --body-file invoice.html --translate de --at 2hopenemail send --to [email protected] --template welcome --props '{"name":"Ada"}' --tag campaign=onboarding

メール ID と状態を表示します。sent、partial、failed はリクエスト内で送信が試みられたこと、queued と scheduled は保留中であることを意味します。failed の送信は終了コード 1 で終わり、--json はメール全体を出力します。

すべての送信には、あなたのものか CLI が生成した冪等キーが付くので、接続が切れた後に再試行してもメッセージが二重に送られることはありません。パイプラインが同じステップを再実行する可能性があるときは、独自のキーを渡してください。

添付ファイル

--attach は最大 20 ファイルを受け付けます。合計が 5 MB 以下のうちはメッセージの中に含めて送ります。それを超える場合は、各ファイルをまずファイルにアップロードし、メッセージから参照するので、大きなファイルでも追加の手順は不要です。コンテンツタイプはファイルの拡張子から決まります。

受信トレイ

ターミナル
openemail inboxopenemail inbox --unread --limit 50openemail inbox archive --sort oldestopenemail inbox --all --json | jq -r ".items[].id"

スレッドを新しい順に 1 ページ表示し、最後に動いた日時、最後に書いた人、件名、ラベル、スレッド ID を示します。点は未読メールを表します。フォルダーは受信トレイですが、別のものも指定できます:sent、archive、starred、snoozed、spam、trash、draft、または USER_RECEIPTS のようなラベル ID。

  • -u、--unread は未読メールのあるスレッドだけを残し、-l、--label はラベルの付いたスレッドだけを残し、-q、--query は検索で一覧を絞り込みます。
  • -n、--limit はページサイズを 1 から 100 で指定します(指定しなければ 25)。残りがある場合は次のカーソルが --cursor 用に stderr に表示され、--all はすべてのページを読みます。
  • --from-contacts は最新のメッセージが保存済みの連絡先から届いたスレッドだけを残し、--sort は newest、oldest、sender、subject で並べ替えます。
  • --json は各スレッドを完全な形で含む { items, hasMore, nextCursor } を出力します。

スレッドを読む

ターミナル
openemail read CAHk7pQ2x9LmZ4openemail read CAHk7pQ2x9LmZ4 --message -1openemail read CAHk7pQ2x9LmZ4 --html --message 1 > first.html

スレッドのすべてのメッセージを古い順に表示します:送信者と宛先、日時、件名、サイズと ID つきの添付ファイル、本文。テキストパートはそのまま表示し、HTML のみのメッセージはリスト、引用、見出し、リンクを残した読みやすいテキストに変換します。読むとスレッドは既読になります。--no-mark-read を渡せば既読になりません。

  • -m、--message <n> は 1 通だけを表示します。1 から数えるか、負の数なら最新から数えます。
  • --html は代わりに生の HTML を出力します。
  • 暗号化されたメッセージはここでは復号されないので、Web アプリで開いてください。

返信

ターミナル
openemail reply CAHk7pQ2x9LmZ4 --text "Thanks, that works for me."openemail reply CAHk7pQ2x9LmZ4 --all --attach notes.pdfecho "Confirmed." | openemail reply CAHk7pQ2x9LmZ4 --yes

同じスレッドで、最後のメッセージの送信者、またはその Reply-To アドレスに返信します。最後のメッセージが自分のものなら、そのメッセージの宛先に返信します。--all は、自分のアドレスを除いて、そのメッセージの他の全員を CC に入れます。件名にまだ Re: がなければ付け、送信できる場合はスレッドが配信されたアドレスから返信します。

send の本文、添付、予約、翻訳、タグ、べき等性のフラグに加えて --from と --subject を受け付け、--to、--cc、--bcc で宛先を上書きできます。

スレッドを整理する

コマンド機能
archive <thread-id...>受信トレイから外す。検索では引き続き見つかる
unarchive <thread-id...>受信トレイに戻す
trash <thread-id...>ゴミ箱へ。ゴミ箱から戻す呼び出しがないため、確認を求めます
star, unstarスターを付ける、または外す
mark read, mark unreadスレッドを既読または未読にする
snooze <thread-id...> --until <when>指定した時刻まで、または 3h や 1w のような期間、スレッドを非表示にします。その時刻からおよそ 1 時間以内に戻ります
unsnoozeスヌーズしたスレッドを今すぐ戻す
label add, remove --label <id>スレッドにラベルを付ける、または外す。openemail labels list で ID を確認できます

いずれも複数のスレッド ID を受け取り、それぞれについて結果を報告します。最初の失敗が終了コードになり、--json は { results, succeeded, failed } を出力します。検索結果の ID をそのままつなげられます:

ターミナル
openemail inbox --query "newer_than:30d from:alerts" --json | jq -r ".items[].id" | xargs openemail archive

使い捨て受信トレイ

openemail temp は、アカウントもサインインも不要な短命のアドレスを作成します。登録テストやワンタイムコードに向いています。各受信トレイのトークンは ~/.openemail/temp-mail.json に保存されるので、以降のコマンドは ID かアドレスで受信トレイを見つけます。1 つしかない場合は自動で選ばれます。

ターミナル
ADDRESS=$(openemail temp new --ttl 15)openemail temp watch --first --json | jq -r .snippetopenemail temp listopenemail temp readopenemail temp read tinb_4f2a tmail_91c3openemail temp delete --yes
  • temp new は stdout にアドレスだけを出力します。--ttl で指定しない限り 60 分間、最大 24 時間有効で、--name と --domain でアドレスを選べます。
  • temp watch は届いているものを表示し、その後は停止するか受信トレイの期限が切れるまで 3 秒ごとに確認します。--first は最初のメッセージで停止し、--json はメッセージごとに 1 行の JSON を出力します。
  • temp read はメッセージを短いプレビューつきで一覧表示するか、1 通を全文表示します。
  • temp delete は受信トレイとそのメールをすぐに削除します。アドレスは、本来の利用期限から 7 日間予約されたままになります。
  • --inbox-token を使うと、この CLI が作成していない受信トレイに temp read、watch、delete でアクセスできます。
  • 使い捨て受信トレイのメールの送信者は、決して検証されません。

受信トレイを、
あなたの思いどおりに。

企業、AI、エージェント、個人利用のためのメールインフラ。スケール、プライバシー、コントロールのために設計。メールが最初から備えているべきだったすべて。

OpenEmail

企業、AI、エージェント、個人利用のためのメールインフラ。スケール、プライバシー、コントロールのために設計。メールが最初から備えているべきだったすべて。

© 2026 OpenEmail. 無断転載を禁じます。