Gmail SMTP を使用してコマンド ラインから電子メールを送信できる、依存関係のない Python ツール。 1 つのコマンドでインストールし、一度構成すれば、スクリプト、自動化ワークフロー、または AI エージェントから電子メールを送信できます。
問題
コマンド ラインから電子メールを送信するのは従来、面倒な作業でした。
- 複雑なセットアップ: sendmail、postfix、または msmtp の構成にはシステムレベルの変更が必要です
- 到達可能性の問題: 自己ホスト型メール サーバーはスパム フォルダーに分類されることがよくあります
- プラットフォームの断片化: オペレーティング システムごとに異なるツール
- 依存地獄: 多くのソリューションでは追加のライブラリをインストールする必要があります
メール サーバーの構成に苦労することなく、自動化スクリプト、AI エージェント、CI/CD パイプラインからメールを送信する簡単な方法が必要でした。 Gmail の SMTP サーバーは優れた到達性を備えており、アプリ パスワードはメイン アカウントのパスワードを公開することなく安全な認証を提供します。
解決策
gmail-cli は、外部依存関係のない単一の Python ファイルで、Python 3 を備えたあらゆるシステムで動作します。信頼性の高い配信のために Gmail の SMTP サーバーを使用し、資格情報をホーム ディレクトリに安全に保存します。
一行インストール
macOS / Linux
curl -sSL https://colinknapp.com/tools/gmail-cli/install.sh | bash
Windows PowerShell
iwr -useb https://colinknapp.com/tools/gmail-cli/install.ps1 | iex
インストーラーはスクリプトを次の場所にダウンロードします。 ~/.local/bin (Unix) または %LOCALAPPDATA%\gmail-cli (Windows) それを PATH に追加します。
セットアップ: Gmail アプリのパスワード
Gmail では、SMTP アクセスにアプリ パスワードが必要です (2FA が有効になっていると、通常のパスワードは機能しません)。設定方法は次のとおりです。
- に行く myaccount.google.com/apppasswords
- 2 段階認証プロセスをまだ有効にしていない場合は有効にします
- 「メール」のアプリパスワードを生成する
- 走る
gmail-cli configureGmail アドレスとアプリのパスワードを入力します
gmail-cli configure
Gmail CLI Configuration
----------------------------------------
You'll need a Gmail App Password:
1. Go to https://myaccount.google.com/apppasswords
2. Enable 2-Step Verification if needed
3. Generate an App Password for 'Mail'
Gmail address: yourname@gmail.com
App Password (will be stored locally): xxxx xxxx xxxx xxxx
Configuration saved to /home/user/.config/gmail-cli/config.json
使用例
シンプルなメール
gmail-cli send recipient@example.com -s "Hello" -b "Hi there!"
添付ファイル付きメール
gmail-cli send recipient@example.com \
-s "Weekly Report" \
-b "Please find the report attached." \
-a report.pdf \
-a data.csv
標準入力からコンテンツをパイプする
cat logfile.txt | gmail-cli send admin@example.com -s "Server Logs"
テスト接続
gmail-cli test
Testing connection for yourname@gmail.com...
Success! Connection and authentication working.
現実世界の使用例: AI エージェントの電子メール
私はこのツールを、Cursor のような AI コーディング エージェントで使用するために特別に構築しました。 PDF を添付した電子メールを送信する必要がある場合、AI エージェントは電子メールを作成して直接送信できます。
gmail-cli send recipient@example.com \
-s "Documents Attached" \
-b "Hi,
Please find the requested documents attached.
Best regards,
Your Name" \
-a document1.pdf \
-a document2.pdf
これにより、エンドツーエンドの自動化が可能になります。AI は人間の介入なしにドキュメントを生成し、PDF を作成し、電子メールで送信できます。
技術的な実装
建築
- 単一ファイル: Python 3 の標準ライブラリ以外の依存関係はありません
- SMTP over TLS: smtp.gmail.com への安全な接続:587
- ローカル構成: 認証情報の保存場所
~/.config/gmail-cli/config.json600の権限を持つ - MIME サポート: 添付ファイルの適切なマルチパート メッセージ
セキュリティに関する考慮事項
- Gmail アプリのパスワードを使用します (メインのパスワードではありません)。
- 構成ファイルのアクセス許可は制限されています (Unix: 600)
- すべての SMTP 通信の TLS 暗号化
- メインアカウントに影響を与えることなく、アプリパスワードを個別に取り消すことができます
クロスプラットフォームのサポート
このツールはプラットフォームの違いを自動的に処理します。
- macOS/Linux: 構成を入力
~/.config/gmail-cli/にインストールされています~/.local/bin/ - Windows: 構成を入力
%APPDATA%\gmail-cli\にインストールされています%LOCALAPPDATA%\gmail-cli\.batラッパーを使用した場合
コマンドリファレンス
| コマンド | 説明 |
|---|---|
gmail-cli configure |
Gmail 認証情報を設定する (対話型) |
gmail-cli configure --email x --password y |
資格情報を非対話的に設定する |
gmail-cli send TO -s SUBJ -b BODY |
メールを送信する |
gmail-cli send TO -s SUBJ -a FILE |
添付ファイルを付けて送信する |
gmail-cli test |
SMTP接続をテストする |
gmail-cli config |
現在の構成を表示 |
自動化との統合
gmail-cli は以下とシームレスに連携します。
- シェルスクリプト: cron ジョブまたはビルド スクリプトから通知を送信する
- CI/CD パイプライン: 導入レポートまたはテスト結果を電子メールで送信する
- AIエージェント: LLM を利用したアシスタントがユーザーに代わって電子メールを送信できるようにする
- モニタリング: システムイベントまたはしきい値違反に関するアラート
例: 日次バックアップレポート
#!/bin/bash
# backup-report.sh - Run daily via cron
BACKUP_LOG="/var/log/backup.log"
RECIPIENT="admin@example.com"
if [ -f "$BACKUP_LOG" ]; then
cat "$BACKUP_LOG" | gmail-cli send "$RECIPIENT" \
-s "Daily Backup Report - $(date +%Y-%m-%d)"
fi
既存のツールを使用しないのはなぜですか?
| 代替案 | 問題 |
|---|---|
| sendmail/postfix | ルートが必要、複雑な構成、配信可能性の問題 |
| msmtp | 外部依存関係、構成ファイルの構文 |
| メールx/メール | プラットフォーム固有、ローカル MTA が必要 |
| Python smtplib を直接実行する | 定型コード、CLI インターフェイスなし |
gmail-cli は、Gmail インフラストラクチャの信頼性を備えた CLI ツールのシンプルさを提供し、Python が実行されるどこでも動作する依存関係のないパッケージにラップされています。
観察
- ワンライナーでインストールできます。 の
curl | bashこのパターンは物議を醸していますが、開発者ツールの負担を大幅に軽減します - Gmail SMTP は信頼性があります: Google のサーバーは優れた配信性と稼働率を備えています
- アプリのパスワードは過小評価されています: メインの認証情報を公開することなく、限定されたアクセスを提供します
- クロスプラットフォームの問題: macOS、Linux、Windows 上で同様に動作するツールにより、ドキュメントとサポートの労力が節約されます
- AI エージェントには電子メールが必要です。 LLM を活用した自動化が進むにつれて、シンプルなプログラムによる電子メールの価値がますます高まっています
Get Started
gmail-cli をインストールし、端末からメールの送信を開始します。
# Install (macOS/Linux)
curl -sSL https://colinknapp.com/tools/gmail-cli/install.sh | bash
# Configure
gmail-cli configure
# Send your first email
gmail-cli send yourself@gmail.com -s "Test" -b "It works!"