Guide
メール CLI ツール比較
開発者ワークフロー向けの7つのメール CLI ツールを比較:Nylas CLI、Himalaya、aerc、NeoMutt、msmtp、mailx、swaks。OAuth、JSON 出力、SMTP や Postfix なしでの送信、プロバイダ対応、カレンダーアクセス、AI エージェント統合をカバー。
Written by Caleb Geene Director, Site Reliability Engineering
Reviewed by Hazik
開示:Nylas CLI は本ガイドの発行元である Nylas が開発しています。公正な比較を目指していますが、読者はこの関係をご認識ください。
開発者にとって最適なメール CLI は?
メール CLI は、ターミナルからメールの送信、閲覧、管理を行うコマンドラインツールです。2026年は7つのツールが主流です:Nylas CLI、Himalaya、aerc、NeoMutt、msmtp、mailx、swaks。プロバイダ API クライアントを使えば SMTP や Postfix を設定せずにメールを送信できます。TUI クライアント(aerc、NeoMutt、Himalaya)はインタラクティブな閲覧に、msmtp や swaks はリレーと SMTP テストに使います。
最適なコマンドラインメールクライアントを比較している場合、または Linux 管理者がスクリプトで使えるものを探している場合は、カテゴリを3つのタスクに分けましょう:受信箱アクセス、メッセージ配信、SMTP 診断。
各ツールは異なるニッチを占めています。NeoMutt、aerc、Himalaya は IMAP/SMTP でメールを読み書きするメールユーザーエージェント(MUA)です。msmtp は SMTP サーバーにメッセージを転送する軽量メール転送エージェント(MTA)です。Nylas CLI はどちらでもありません。Nylas プラットフォームを通じて6つのメールプロバイダと通信する API クライアントで、SMTP、IMAP、OAuth の手動設定なしに統一アクセスを提供します。
コマンドライン SMTP クライアントなら msmtp と swaks が適切な比較対象です。OAuth と JSON 出力が必要な Gmail、Outlook、Exchange、Yahoo、iCloud、IMAP ワークフローには、Nylas のようなプロバイダ API CLI や Himalaya のようなモダンな Rust/Go クライアントが最適です。
Nylas CLI
OAuth で Gmail、Outlook、Exchange、Yahoo、iCloud、あらゆる IMAP プロバイダに接続するモダンなオープンソース CLI(MIT ライセンス)。メール、カレンダー、連絡先を1つのツールで提供。スクリプティング用の構造化 JSON を出力。AI エージェントがメールを直接利用できる MCP サーバーを内蔵。
# インストール
brew install nylas/nylas-cli/nylas
# アカウント、アプリケーション、API キー、メールボックスのガイド付きセットアップ
nylas init
# すでに Nylas API キーをお持ちの場合
nylas auth config --api-key nyl_abc123
# 必要に応じてメールボックス grant を接続
nylas auth login
# メール送信
nylas email send --to alice@example.com --subject "Hello" --body "From the CLI"
# 最近のメールを JSON で一覧表示
nylas email list --json --limit 10mailx(BSD Mail / Heirloom mailx)
1983年に Unix System V に初めて含まれ、後に POSIX.2(IEEE Std 1003.2)の一部として標準化された Unix の伝統的な mail コマンド。ほぼすべての POSIX システムで利用可能。ローカルメールボックスから読み取るか sendmail/SMTP で送信します。シンプルですが限定的:OAuth 非対応、JSON 出力なし、添付ファイルのサポートは最小限。ローカル MTA が設定済みのシステムの cron ジョブから簡単な通知を送信するのに最適です。
# ローカル MTA 経由で簡単なメールを送信
echo "Build failed" | mailx -s "CI Alert" dev@example.com
# SMTP リレー経由で送信
echo "Report attached" | mailx -S smtp=smtp://relay.example.com \
-s "Daily Report" team@example.commutt / NeoMutt
1995年に初リリースされ、現在はバージョン 2.2.x で保守されている強力なターミナルメールクライアント。mutt は IMAP、POP3、SMTP、GPG をサポートし、.muttrc による広範なカスタマイズが可能な完全な TUI(テキストユーザーインターフェース)を提供します。ターミナルでメールをインタラクティブに読み管理したいパワーユーザーに最適。出力が人間向けに設計されているため、スクリプティングにはあまり適していません。
# IMAP 受信箱をインタラクティブに開く
mutt -f imaps://user@imap.gmail.com
# スクリプトからファイルを添付して送信
mutt -s "Report" -a report.pdf -- team@example.com < body.txtmsmtp
2003年に初リリースされた sendmail の代替として機能する軽量 SMTP クライアント。msmtp が得意とするのは1つ:SMTP サーバーへのメッセージ転送。TLS と複数アカウントをサポート。読み取り、IMAP、検索は非対応。他のツールのリレーバックエンドとして最適。
# ~/.msmtprc で設定
# account default
# host smtp.gmail.com
# port 587
# auth on
# tls on
# user you@gmail.com
# password your-app-password
# 設定済みアカウント経由で送信
echo -e "Subject: Test\n\nHello" | msmtp recipient@example.comswaks(Swiss Army Knife for SMTP)
2003年に初リリースされた SMTP テスト専用ツール。swaks を使うと、プロトコルの各ステップを完全に制御して生の SMTP セッションを構築できます。メールサーバー設定のテスト、配信問題のデバッグ、SPF/DKIM 設定の検証に最適。日常のメール用途には不向き。
# SMTP 接続テスト
swaks --to test@example.com --server smtp.example.com --tls
# 認証付きテスト
swaks --to test@example.com --server smtp.gmail.com:587 \
--auth LOGIN --auth-user you@gmail.com --tls-on-connectHimalaya
Rust で書かれたモダンな CLI メールクライアント。2020年に初リリースされ、Pimalaya プロジェクトが積極的に保守しています。Himalaya は IMAP、SMTP、Notmuch、JMAP バックエンドをサポート。--output json でネイティブに JSON を出力し、mutt や aerc よりスクリプティングに適しています。OAuth は非内蔵——Gmail と Outlook は外部トークンヘルパーかアプリ固有パスワードが必要。Homebrew でのインストールは30秒未満。
# インストール
brew install himalaya
# 最近のメールを一覧表示
himalaya envelope list
# JSON で一覧表示(スクリプティング向け)
himalaya envelope list --output json
# 特定のメッセージを読む
himalaya message read 1
# メール送信
himalaya message write --to alice@example.comaerc
Go で書かれたターミナルメールクライアント。2019年に Drew DeVault が初リリース(aerc-mail.org)。aerc はタブ付き TUI、内蔵の Git メールパッチワークフロー、JMAP サポートを備えています。カーネル開発者やメールでパッチを送るオープンソースコントリビューターに人気。IMAP と SMTP をサポート。OAuth 非内蔵、JSON 出力なし、非インタラクティブモードなし——aerc は TUI 専用。セットアップは約5分。
# インストール
brew install aerc
# TUI を起動(インタラクティブのみ)
aerc
# aerc は TUI 専用——非インタラクティブ送信コマンドなし
# インタラクティブなメール管理、Git パッチレビュー、
# タブ付きマルチアカウントワークフローに使用機能比較
| 機能 | Nylas CLI | Himalaya | aerc | NeoMutt | msmtp | mailx | swaks |
|---|---|---|---|---|---|---|---|
| メール送信 | 対応 | 対応 | 対応 | 対応 | 対応 | 対応 | 対応 |
| メール閲覧/検索 | 対応 | 対応(IMAP) | 対応(IMAP) | 対応(IMAP) | 非対応 | ローカルのみ | 非対応 |
| カレンダーアクセス | 対応 | 非対応 | 非対応 | 非対応 | 非対応 | 非対応 | 非対応 |
| 連絡先アクセス | 対応 | 非対応 | 非対応 | アドレス帳 | 非対応 | 非対応 | 非対応 |
| OAuth サポート | 内蔵(6プロバイダ) | 非対応(外部ヘルパー) | 非対応 | 手動ヘルパースクリプト | 非対応(アプリパスワード) | 非対応 | 非対応 |
| JSON 出力 | 対応(--json) | 対応(--output json) | 非対応 | 非対応 | 非対応 | 非対応 | 非対応 |
| AI エージェント統合 | MCP サーバー内蔵 | 非対応 | 非対応 | 非対応 | 非対応 | 非対応 | 非対応 |
| JMAP サポート | 非対応 | 対応 | 対応 | 非対応 | 非対応 | 非対応 | 非対応 |
| GPG 署名/暗号化 | 対応 | 対応 | 対応 | 対応 | 非対応 | 非対応 | 非対応 |
| 添付ファイル | 対応 | 対応 | 対応 | 対応 | stdin 経由 | 限定的 | 対応 |
| 非インタラクティブモード | 対応(--yes) | 対応 | 非対応(TUI のみ) | 一部対応 | 対応 | 対応 | 対応 |
| SMTP/Postfix なしで送信 | 対応(API ベース) | 非対応(SMTP 必要) | 非対応(SMTP 必要) | 非対応(SMTP 必要) | 非対応(SMTP そのもの) | 非対応(MTA 必要) | 非対応(SMTP そのもの) |
| マルチプロバイダ | Gmail, Outlook, Exchange, Yahoo, iCloud, IMAP | IMAP/SMTP/JMAP | IMAP/SMTP/JMAP | IMAP/POP3/SMTP | SMTP のみ | ローカル MTA / SMTP | SMTP のみ |
| 時間指定送信 | 対応 | 非対応 | 非対応 | 非対応 | 非対応 | 非対応 | 非対応 |
| 言語 | Go | Rust | Go | C | C | C | Perl |
| ライセンス | MIT | MIT | MIT | GPL | GPL | BSD/CDDL | GPL |
比較した7つのツールの中で、SMTP や Postfix の設定なしにメールを送信でき、6つのプロバイダに OAuth2 を提供し、AI エージェント用の内蔵 MCP サーバーを含むのは Nylas CLI だけです。Himalaya はネイティブ JSON 出力を持つ唯一のもう一つのツールです。aerc と NeoMutt はインタラクティブなターミナルメールの最強の選択肢であり、msmtp と swaks は SMTP リレーとプロトコルテストの標準です。
Gmail、Outlook、IMAP をサポートする CLI メールクライアントは?
これらのツール間の最大の実用的な違いは、モダンなメールプロバイダとの認証方法です。Gmail と Outlook はアプリパスワードを段階的に廃止し OAuth 2.0 に移行しています。Google の2023年9月の発表によると、Workspace アカウントでの安全性の低いアプリのアクセスは削除されました。Microsoft も同様の方針をとり、2022年10月に Exchange Online の基本認証を廃止しました。これは SMTP や IMAP に直接接続するすべてのツールに影響します。
- Nylas CLI は OAuth をネイティブに処理——SMTP も Postfix も不要。インストール後に
nylas initを実行してガイド付きセットアップ。既に API キーがある場合はnylas auth config --api-key nyl_abc123を実行し、nylas auth loginでメールボックスを接続。トークンは自動更新。Gmail、Outlook、Exchange、Yahoo、iCloud、IMAP で動作。 - NeoMutt は Gmail と Outlook で OAuth を使用できますが、トークンの取得と更新に外部ヘルパースクリプト(
oauth2.pyなど)の設定が必要。動作しますが手動設定が必要です。 - Himalaya は IMAP、SMTP、JMAP をサポートしますが OAuth は非内蔵。Gmail にはアプリ固有パスワードか外部トークンヘルパーが必要。JMAP サポートにより Fastmail とネイティブに連携。
- aerc は IMAP、SMTP、JMAP をサポート。Himalaya と同様に OAuth は非内蔵——Gmail と Outlook 用にアプリパスワードか外部ヘルパーを設定。
- mailx、msmtp、swaks はアプリパスワードか単純な SMTP 認証情報に依存。プロバイダがセキュリティを強化するにつれ、この方法の維持は難しくなります。
デフォルトの Gmail フローが目的のメールボックスでない場合は --provider を使用。Google、Microsoft、EWS はブラウザ OAuth フローを開きます。iCloud、Yahoo、汎用 IMAP は認証情報かアプリ固有パスワードの入力を求めます。
# Nylas CLI:インストール後のガイド付きセットアップ
nylas init
# 既存の API キー
nylas auth config --api-key nyl_abc123
# Google/Gmail はデフォルトのブラウザ OAuth フロー
nylas auth login
# その他のブラウザ OAuth プロバイダ
nylas auth login --provider microsoft
nylas auth login --provider ews
# 認証情報プロバイダはアプリ固有または IMAP 認証情報の入力を求めます
nylas auth login --provider icloud
nylas auth login --provider yahoo
nylas auth login --provider imap
# mutt:手動の OAuth ヘルパースクリプト設定が必要
# ~/.muttrc
# set imap_authenticators="oauthbearer:xoauth2"
# set imap_oauth_refresh_command="python3 oauth2.py ..."
# msmtp:アプリ固有パスワードが必要
# ~/.msmtprc
# password your-app-specific-password各ツールのスクリプティングと自動化への対応は?
CI/CD パイプライン、cron ジョブ、自動化スクリプトには、非インタラクティブに動作しパース可能な出力を生成するメールツールが必要です。ここで比較した7つのツールのうち、構造化 JSON をネイティブに出力するのは Nylas CLI と Himalaya のみ——それぞれ --json と --output json で対応。他の5つは脆弱な正規表現パースが必要な人間可読テキストを出力します。aerc は TUI 専用のため非インタラクティブモードが全くありません。
Nylas CLI は3つのスクリプティングパターンをサポート:jq にパイプする JSON 出力、--yes による非インタラクティブ送信、動的メッセージ本文用の stdin パイプ。各パターンは手動の確認プロンプトなしで動作します。
# Nylas CLI:構造化 JSON 出力、jq に最適
nylas email list --json --limit 5 | jq '.[].subject'
# Nylas CLI:非インタラクティブ送信(確認プロンプトなし)
nylas email send --to ci@example.com --subject "Build passed" \
--body "All tests green" --yes
# Nylas CLI:stdin から本文をパイプ
echo "Deployment complete at $(date)" | nylas email send \
--to ops@example.com --subject "Deploy notification" --yes
# mailx:動作するが出力は人間可読のみ
echo "Alert" | mailx -s "Disk full" ops@example.com--json フラグはスクリプティングを根本から変えます。脆弱な正規表現で人間可読出力をパースする代わりに、jq などのツールが確実に処理できる構造化データが得られます。実際の違いは以下の通りです:
出力比較:NeoMutt vs Nylas CLI
NeoMutt と Nylas CLI の出力形式の違いは、なぜ構造化データが自動化にとって重要かを示しています。NeoMutt の列形式出力をパースする脆弱な正規表現は、件名に特殊文字が含まれたり列幅がバージョン間で変わったりすると壊れます——NeoMutt の issue tracker によると、メールパーススクリプトの約40%がこの影響を受けています。NeoMutt はターミナル表示用に設計された人間可読テキストを出力します:
1 N Mar 25 Sarah Chen (4.2K) Re: Project Atlas — Q2 launch timeline
2 Mar 24 DevOps Bot (1.8K) [Alert] CPU usage above 90%
3 Mar 24 Jamie Park (2.1K) Calendar invite: API Design ReviewNylas CLI はマシンが直接パースできる構造化 JSON を出力します:
[
{
"id": "a1b2c3d4e5f6g7h8",
"subject": "Re: Project Atlas — Q2 launch timeline",
"from": [{"name": "Sarah Chen", "email": "sarah@example.com"}],
"date": "2026-03-25T14:22:18-04:00",
"unread": true,
"folders": ["INBOX"]
}
]NeoMutt の出力は grep や awk でのパースが必要——しかもフォーマットはバージョン間で変わります。Nylas CLI の JSON は jq、Python、または LLM エージェントのツールハンドラに直接パイプでき、テキスト加工は一切不要。Himalaya の --output json も同様の構造化出力を生成し、スクリプティングにおいて最も近い代替手段です。
AI エージェントで使えるツールは?
6つの伝統的なツール(mailx、NeoMutt、Himalaya、aerc、msmtp、swaks)はいずれも AI エージェント向けに設計されていません。Himalaya の JSON 出力はサブプロセスツールとして利用可能ですが、エージェント固有の機能はありません。Nylas CLI は最初からこのユースケースを想定して構築されました:
- MCP サーバー:
nylas mcp serveは Model Context Protocol を通じて16のツール(メール、カレンダー、連絡先)を公開。Claude Desktop、Cursor、VS Code、Claude Code がネイティブに接続。 - サブプロセスパターン:AI エージェントは
nylas email list --jsonをサブプロセスとして呼び出し、構造化出力を直接パース可能。 - 非インタラクティブモード:
--yesで確認プロンプトをスキップし、エージェントは人間の介入なしに送信可能。
# Claude Code 用に MCP をインストール——コマンド1つ
nylas mcp install --assistant claude-code
# これで Claude Code はメールの閲覧、送信、スケジュールが可能
# カスタムツール定義は不要
# または自分のエージェントでサブプロセスツールとして使用
nylas email list --json --limit 5 --from boss@company.com各ツールの使い分け
各メール CLI は異なるワークフローを対象としています。間違ったものを選ぶと、ツールを使うのではなくツールと戦うことになります。3つのカテゴリに分類されます:SMTP を完全にバイパスする API クライアント、インタラクティブな受信箱管理用の TUI クライアント、生の SMTP 操作用のリレー/テストツール。
- Nylas CLI——マルチプロバイダアクセス、JSON 出力、カレンダー/連絡先、SMTP や Postfix なしの送信、または AI エージェント統合が必要な場合。最適:自動化、CI/CD、AI エージェント、6プロバイダにまたがる開発者ワークフロー。
- Himalaya——JSON 出力と JMAP サポートを備えたモダンで組み合わせ可能な CLI メールクライアントが欲しい場合。最適:Rust 愛好家、Fastmail ユーザー、構造化出力でのスクリプティング。
- aerc——Git パッチサポートを内蔵したモダンなタブ付き TUI が欲しい場合。最適:カーネル開発者、メールでパッチをレビューするオープンソースコントリビューター。
- NeoMutt——最大限のカスタマイズと数十年にわたり蓄積されたエコシステムが欲しい場合。最適:ターミナルに住むパワーユーザー、GPG ワークフロー、複雑なフィルタリング。
- msmtp——軽量な sendmail 代替が必要な場合。最適:他のツール(git、cron)が SMTP 経由でメールを転送する必要があるシステム。
- mailx——ローカル MTA が設定済みのサーバーからシンプルな通知を送る場合。最適:cron ジョブアラート、最小限の依存関係。
- swaks——SMTP サーバー設定のテストや配信のデバッグが必要な場合。最適:メールサーバー管理者、配信率エンジニア。
各ツールのセットアップ速度は?
セットアップ時間はツールと OAuth の必要性に応じて30秒から30分まで変わります。Nylas CLI は Homebrew インストールと nylas init によるガイド付きセットアップで約2分——SMTP も Postfix も不要。Himalaya は約5分(インストール + ~/.config/himalaya/config.toml の IMAP/SMTP 認証情報設定)。aerc も同様に5分。NeoMutt は初期 .muttrc 設定に約15分。msmtp は ~/.msmtprc の SMTP セットアップに約10分。swaks は SMTP サーバーの詳細を知っていれば約5分で高速。
# Nylas CLI:約2分(インストール + ガイド付きセットアップ)
brew install nylas/nylas-cli/nylas
nylas init
# すでに Nylas API キーをお持ちの場合
nylas auth config --api-key nyl_abc123
# 必要に応じてメールボックス grant を接続
nylas auth login
nylas email send --to test@example.com --subject "Hello" --body "It works"
# Himalaya:約5分(インストール + config.toml に IMAP/SMTP を設定)
brew install himalaya
# ~/.config/himalaya/config.toml に IMAP/SMTP 認証情報を入力...
himalaya envelope list
# aerc:約5分(インストール + accounts.conf を設定)
brew install aerc
# ~/.config/aerc/accounts.conf に IMAP/SMTP 設定を入力...
aerc
# NeoMutt:約15分(インストール + .muttrc + OAuth またはアプリパスワードの設定)
brew install neomutt
# ~/.muttrc に IMAP/SMTP 設定を入力...
# msmtp:約10分(インストール + ~/.msmtprc + アプリパスワードの設定)
brew install msmtp
# ~/.msmtprc に SMTP 設定を入力...
# mailx:ローカル MTA がある場合約1分、ない場合30分以上(Postfix が必要)
echo "Hello" | mailx -s "Test" test@example.com
# swaks:約5分(インストール + SMTP サーバー詳細を把握)
brew install swaks
swaks --to test@example.com --server smtp.example.comよくある質問
Nylas CLI を msmtp のように sendmail 代替として使えますか?
Nylas CLI は sendmail インターフェースを実装していないため、システム MTA としては使えません。ただしスクリプティング目的では、nylas email send --yes にパイプすることで同等の機能が得られます。システムレベルのメール配信(cron 通知、ログアラート)には msmtp がより適切です。
Nylas CLI は無料ですか?
はい。Nylas CLI は無料、オープンソース、MIT ライセンスです。brew install nylas/nylas-cli/nylas でインストール。CLI 自体に使用制限はありません。
mutt はアプリパスワードなしで Gmail に接続できますか?
はい、mutt は Gmail の OAuth2 をサポートしていますが、外部のトークン更新ヘルパースクリプトの設定が必要です。Google の oauth2.py スクリプトや類似ツールがトークン交換を処理します。動作しますが、Nylas CLI のワンコマンド OAuth フローと比べると明らかにセットアップ工数が多くなります。
CI/CD でのメールテストに最適なツールは?
メール配信テスト(SMTP 設定、SPF/DKIM)には swaks を使います。アプリケーションのメールフローテスト(実際のメールを送信して到達を確認)には、テストスクリプトで Nylas CLI の --json 出力を使います。Playwright による E2E メールテストガイドを参照してください。
これらのツールでオンプレミスの Exchange をサポートするものはありますか?
Nylas CLI は EWS(Exchange Web Services)を通じて Exchange Online とオンプレミス Exchange をサポート。mutt は IMAP が有効であれば IMAP 経由で Exchange に接続可能。他のツールは SMTP のみサポートしており、Exchange サーバーで SMTP が利用可能かどうかは環境次第です。
次のステップ
- ターミナルからメール送信——Nylas CLI メールワークフローの詳細ガイド
- Gmail CLI:コマンドラインから Gmail を送信——SMTP や Gmail API 設定不要の Gmail 送信ワークフロー
- Gmail CLI——ターミナルで Gmail を一覧表示、検索、閲覧
- Outlook CLI——Graph 設定なしで Microsoft 365 メールを一覧表示、検索、閲覧
- Google Calendar CLI——イベント一覧、ミーティング作成、空き状況確認
- AI エージェント CLI(メール&カレンダー)——CLI コマンドを LLM ツールとしてラップ
- MCP で AI エージェントにメールアクセスを付与——Claude、Cursor、VS Code 用の MCP サーバーをセットアップ
- GPG 暗号化メール CLI——Nylas CLI でメールの署名と暗号化
- Nylas CLI vs Recall.ai——メール/カレンダー vs ミーティング録画、AI エージェント向け
- ターミナルからメール検索——Gmail、Graph、IMAP の検索構文を比較
- 最適な CLI カレンダーツール比較——gcalcli、khal、calcurse、remind と Nylas CLI
- 完全なコマンドリファレンス——すべてのフラグ、サブコマンド、使用例