Guide

Outlook CLI:ターミナルでメール一覧表示(Graph API 不要)

Outlook CLI を使ってターミナルから Microsoft 365 メールの閲覧、検索、フィルタリング。直接 Graph API を使うには Azure AD アプリ登録、MSAL トークン、権限、リトライロジックが必要。Nylas CLI はこのセットアップを1つのコマンドに集約し、Gmail、Exchange、Yahoo、iCloud、IMAP で同じワークフローを使用。

Written by Nick Barraclough Product Manager

Reviewed by Qasim Muhammad

VerifiedCLI 3.1.1 · Outlook.com, Microsoft 365 · last tested April 11, 2026

Outlook CLI でターミナルからメールを読むには?

Outlook または Microsoft 365 メールボックスを接続後、nylas email listnylas email searchnylas email read を使用します。CLI により Azure AD アプリの登録や Microsoft Graph API コードの記述なしにターミナル Outlook ワークフローが得られます。

Outlook メールのコマンドラインワークフローとして、Outlook.com と Microsoft 365 アカウント間でメールの一覧表示、検索、閲覧を行う単一のコマンドセットを意味します。

Microsoft の FY2024 決算報告によると、Microsoft 365 には 4 億以上の有料シートがあります。世界で最も広く導入されているビジネスメールプラットフォームです。それにもかかわらず、コマンドラインから自分の受信箱を読むには驚くほど多くのセットアップが必要です。

Microsoft が 2022 年 10 月に Exchange Online の Basic Auth を廃止して以来、Graph API が唯一のサポートされたパスです。単一の GET /me/messages 呼び出しのためだけに、Azure AD でアプリを登録し、Mail.Read 権限を設定し、リフレッシュ処理付きの MSAL トークン取得を実装し、Microsoft の独自 JSON フォーマット(標準 MIME ではない)をパースする必要があります。Microsoft の Graph API スロットリングガイダンスによると、各メールボックスは 10 分あたり 10,000 リクエストに制限されているため、429 レスポンスのリトライロジックも必要です。

EWS(Exchange Web Services)はまだ存在しますが、Microsoft は Exchange Online 向け EWS の 2026 年 10 月廃止を発表しました(アナウンス MC862873)。az CLI にはメールコマンドがありません。PowerShell の Get-MailboxFolderPermission は Exchange Online 管理モジュールと管理者アクセスが必要です。これらはいずれもクリーンで移植可能なワークフローを提供しません。

1. インストールと認証

Nylas CLI のインストールと Outlook アカウントの接続は 2 分以内です。CLI は API キーで認証するため、Azure AD アプリの登録、MSAL の設定、トークンリフレッシュの自己管理は不要です。brew install コマンド1つと API キーの貼り付け1回で、ゼロからメール一覧表示まで到達できます。

Homebrew は macOS と Linux で最速のインストールパスです。formula は最新リリースバイナリを取得し、SHA-256 チェックサムを自動検証します。

# Homebrew でインストール(macOS / Linux)
brew install nylas/nylas-cli/nylas

他のインストール方法(シェルスクリプト、PowerShell、Go)は 入門ガイドを参照してください。

インストール後、 dashboard-v3.nylas.com にアクセスし、アプリケーションを作成して Microsoft 365 または Outlook.com アカウントを接続します。ダッシュボードが OAuth2 同意とトークンストレージを処理します。その後、API キーで CLI を設定:

nylas auth config
# プロンプトで API キーを貼り付け

nylas auth whoami
# => Authenticated as you@company.com (Microsoft)

2. メールの一覧表示、検索、閲覧

Nylas CLI は 3 つのメールサブコマンドを公開します——listsearchread——これらは 8 つの異なる Graph API エンドポイントと同じ機能をカバーします。各コマンドは典型的なメールボックスで 1 秒以内に結果を返します。list コマンドはデフォルトで最近のメッセージを表示し、search は Outlook のサーバーサイド検索インデックスにマッピングするキーワード、送信者、日付範囲フィルターを受け付けます。

以下の例は、Outlook メールの一覧表示、フィルタリング、閲覧の一般的なパターンです。--limit フラグで返される結果数を制御し、--unread で未読メッセージに出力を制限します。

# 最近のメール
nylas email list
nylas email list --limit 10
nylas email list --unread

# キーワード、送信者、日付範囲で検索
nylas email search "quarterly report" --limit 5
nylas email search "from:manager@company.com"
nylas email search "after:2026-01-01 before:2026-02-01"

# 特定のメッセージを読む(ID は list 出力に表示)
nylas email read msg_abc123
nylas email read msg_abc123 --mime

3. スクリプティング用 JSON 出力

すべての Nylas CLI メールコマンドは --json フラグを受け付け、デフォルトのテーブル表示の代わりに正規化された JSON を出力します。この JSON フォーマットはサポートされている 6 つのプロバイダすべてで一貫しています——Gmail、Outlook、Exchange、Yahoo、iCloud、IMAP——そのため1つのプロバイダ用に書かれたスクリプトは他でもそのまま動作します。出力は jq、シェルスクリプト、AI エージェントのツール使用フローに直接パイプできます。

以下の例は 3 つの一般的なスクリプティングパターンを示します:未読メッセージのカウント、件名行の抽出、Microsoft Teams と SharePoint からの自動通知のフィルタリング。Microsoft 365 アカウントは通常 Teams だけで 1 日 15-30 通の自動通知メールを受信するため、プログラムによるフィルタリングは受信箱分析に有用です。

# 未読メールをカウント
nylas email list --unread --json | jq length

# 件名を抽出
nylas email list --limit 5 --json | jq '.[].subject'

# Teams/SharePoint 通知をフィルタリング
nylas email list --json \
  | jq '[.[] | select(.from[0].email | test("teams|sharepoint"; "i"))]' \
  | jq length

4. 優先受信トレイ vs その他

Outlook の優先受信トレイは機械学習を使って重要なメッセージと低優先度のメッセージを分離し、Microsoft はアクティブユーザーのメールトリアージ時間を最大 50% 削減すると報告しています。Graph API はこの分類を inferenceClassification プロパティで公開しますが、アクセスには別の $filter パラメータが必要で、標準フォルダにはマッピングされません。Nylas CLI は Outlook のフォルダ構造を直接公開するため、優先、受信トレイ、送信済みアイテム、迷惑メールを含む任意のフォルダからメッセージを一覧表示できます。

nylas email folders list コマンドは、Outlook が自動作成するシステムフォルダを含むメールボックス内のすべてのフォルダを表示します。nylas email list--folder フラグで結果を名前で単一フォルダにフィルタリングします。

# 全フォルダを一覧 — 優先受信トレイはフォルダ属性として表示
nylas email folders list

# 特定の Outlook フォルダのメールを一覧
nylas email list --folder "Inbox"
nylas email list --folder "Sent Items"
nylas email list --folder "Archive"
nylas email list --folder "Junk Email"
nylas email list --folder "Drafts"

5. 共有メールボックスと委任アクセス

共有メールボックスは Microsoft 365 組織で一般的なパターンです——Microsoft の文書によると、平均的なエンタープライズテナントには support@ や billing@ などのチームエイリアス用に 5-10 個の共有メールボックスがあります。Graph API を通じた共有メールボックスへのアクセスには GET /users/{id}/messagesMail.Read.Shared 権限およびテナント管理者の同意が必要です。Nylas CLI は各共有メールボックスを個別の grant として扱うことでこれを簡素化し、同じコマンドで個人メールボックスと共有メールボックスを切り替えられます。

Nylas ダッシュボードで共有メールボックスを個別の grant として接続します。nylas auth list で接続されたすべてのメールボックスを確認し、grant ID を任意のメールコマンドに渡します。委任アクセスも同様です。

# grant を一覧して接続済みメールボックスを確認
nylas auth list

# 共有メールボックスで作業(個別の grant として接続)
nylas email list <shared-mailbox-grant-id>

6. Outlook カテゴリとフラグ

Outlook はメッセージごとに最大 25 の色分けカテゴリとフォローアップフラグをサポートしています——Gmail や Yahoo Mail にはない機能です。Microsoft の生産性研究によると、カテゴリはエンタープライズ Outlook デプロイメントで最も使用される組織機能の1つです。Graph API は各メッセージオブジェクトでカテゴリを文字列配列として返しますが、カテゴリでフィルタリングするには OData $filter 式の構築が必要です。Nylas CLI は検索構文を通じてカテゴリフィルタリングを公開しています。

検索コマンドはカテゴリ名を直接受け付けます。送信者やキーワードクエリとカテゴリフィルターを組み合わせたり、JSON 出力を jq にパイプしてカスタムのカテゴリベースレポートを作成することもできます。

# 特定カテゴリのメールを検索
nylas email search "category:Red"

# カテゴリと他のフィルターを組み合わせ
nylas email search "category:Blue from:cfo@company.com" --limit 10

# カテゴリ付きメールを JSON でレポート用にエクスポート
nylas email list --json | jq '[.[] | select(.categories[]? == "Project Alpha")]'

7. Microsoft Graph API vs Nylas CLI

Microsoft Graph API は Outlook メールボックスからメールを一覧表示するのに最低 40 行のコードと 4 つの個別設定ステップが必要です。Nylas CLI はこれをアプリケーションコードゼロの単一コマンドに削減します。以下の表は、/me/messages エンドポイントの Microsoft Learn ドキュメントから取得した Graph API の詳細とともに各ステップを対比しています。

ステップMicrosoft Graph APINylas CLI
アプリ登録Azure AD アプリ登録(portal.azure.com)不要
権限Mail.Read スコープ + 組織アカウントの管理者同意Nylas ダッシュボードが処理
認証フローMSAL ライブラリ、トークン取得、リフレッシュ処理nylas auth config
コードREST 呼び出しまたは MS Graph SDK——最低 40 行以上コード不要
メール一覧Bearer トークン付き GET /me/messagesnylas email list
レスポンス形式Microsoft 独自 JSON(MIME ではない)全プロバイダで正規化された JSON
ページネーション@odata.nextLink を手動で追跡--limit フラグ
検索$search または $filter OData パラメータnylas email search "query"
レート制限メールボックスあたり 10,000 リクエスト/10 分——429 を自分で処理バックオフ付き自動処理
共有メールボックスMail.Read.Shared + 管理者同意個別の grant、同じコマンド

8. Microsoft 365 デプロイメント注意事項

Microsoft 365 テナントには、外部ツールのメールボックス接続方法に影響する組織レベルのポリシーがあります。これらのポリシーは 4 億以上のすべての有料シートに存在し、業界によって大きく異なります——医療機関や政府テナントはほとんどの商用デプロイメントよりも厳しい条件付きアクセスを適用します。以下の点は Microsoft 365 に固有であり、個人の Outlook.com アカウントには当てはまりません。

  • 条件付きアクセスポリシー——組織がデバイスコンプライアンスや IP 制限を適用している場合、IT 管理者が Nylas 接続を許可リストに追加する必要がある場合があります
  • GCC および GCC High テナント——米国政府クラウドテナントは別の Graph API エンドポイントを使用します。接続前に管理者に確認してください
  • 保持ポリシー——Microsoft 365 のコンプライアンス保持ポリシーは CLI コマンドが成功してもメッセージの削除を防止する場合があります。メッセージは同期後に再表示されます
  • Teams と SharePoint の通知——nylas email search "from:noreply@email.teams.microsoft.com" でフィルタリング

次のステップ