mcpField
I
imap-smtp-email

imap-smtp-email

github.com/boomsystel-code生産性01.9k 回インストール38 週間前に更新
リポジトリ

imap-smtp-email について

IMAP/SMTP Email Toolは、IMAPでメールを読み取り管理し、SMTPで送信するコマンドラインツールです。一般的なメールサービスや標準メールサーバーを使うユーザー向けで、検索、添付ファイルの取得、既読状態の管理に対応します。

主な機能

  1. 01メールの確認、取得、検索
  2. 02メール添付ファイルのダウンロード
  3. 03既読・未読の切り替え
  4. 04SMTPによるメール送信
  5. 05本文、CC、添付ファイルの送信

活用シーン

  1. 01最近の未読メールを確認
  2. 02メールを検索して添付を取得
  3. 03コマンドラインから報告メールを送信

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/boomsystel-code/openclaw-workspace --skill imap-smtp-email

インストール後、Claude Code で/imap-smtp-emailを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

_meta.json
package.json
README.md
setup.sh
.clawhub/
origin.json
scripts/
imap.js
smtp.js

詳細

IMAP/SMTP メールツール

IMAP プロトコルを使用してメールの読み取り、検索、管理を行います。SMTP を使用してメールを送信します。Gmail、Outlook、163.com、vip.163.com、126.com、vip.126.com、188.com、vip.188.com、および標準的な IMAP/SMTP サーバーに対応しています。

設定

スキルフォルダーに .env を作成するか、環境変数を設定します。

# IMAP Configuration (receiving email)
IMAP_HOST=imap.gmail.com          # Server hostname
IMAP_PORT=993                     # Server port
[email protected]
IMAP_PASS=your_password
IMAP_TLS=true                     # Use TLS/SSL connection
IMAP_REJECT_UNAUTHORIZED=true     # Set to false for self-signed certs
IMAP_MAILBOX=INBOX                # Default mailbox

# SMTP Configuration (sending email)
SMTP_HOST=smtp.gmail.com          # SMTP server hostname
SMTP_PORT=587                     # SMTP port (587 for STARTTLS, 465 for SSL)
SMTP_SECURE=false                 # true for SSL (465), false for STARTTLS (587)
[email protected]          # Your email address
SMTP_PASS=your_password           # Your password or app password
[email protected]          # Default sender email (optional)
SMTP_REJECT_UNAUTHORIZED=true     # Set to false for self-signed certs

一般的なメールサーバー

プロバイダーIMAP ホストIMAP ポートSMTP ホストSMTP ポート
163.comimap.163.com993smtp.163.com465
vip.163.comimap.vip.163.com993smtp.vip.163.com465
126.comimap.126.com993smtp.126.com465
vip.126.comimap.vip.126.com993smtp.vip.126.com465
188.comimap.188.com993smtp.188.com465
vip.188.comimap.vip.188.com993smtp.vip.188.com465
yeah.netimap.yeah.net993smtp.yeah.net465
Gmailimap.gmail.com993smtp.gmail.com587
Outlookoutlook.office365.com993smtp.office365.com587
QQ Mailimap.qq.com993smtp.qq.com587

163.com を利用する場合の重要事項:

  • アカウントのパスワードではなく、認証コード(授权码)を使用してください
  • 先にウェブ設定で IMAP/SMTP を有効にしてください

IMAP コマンド(メールの受信)

check

新着メールや未読メールを確認します。

node scripts/imap.js check [--limit 10] [--mailbox INBOX] [--recent 2h]

オプション:

  • --limit <n>:結果の最大件数(デフォルト:10)
  • --mailbox <name>:確認するメールボックス(デフォルト:INBOX)
  • --recent <time>:直近の指定時間内のメールのみを表示します(例:30m、2h、7d)
fetch

UID を指定してメールの内容全体を取得します。

node scripts/imap.js fetch <uid> [--mailbox INBOX]
download

メールの添付ファイルをすべて、または指定したファイルをダウンロードします。

node scripts/imap.js download <uid> [--mailbox INBOX] [--dir <path>] [--file <filename>]

オプション:

  • --mailbox <name>:メールボックス(デフォルト:INBOX)
  • --dir <path>:出力ディレクトリ(デフォルト:カレントディレクトリ)
  • --file <filename>:指定した添付ファイルのみをダウンロードします(デフォルト:すべてダウンロード)
search

条件を指定してメールを検索します。

node scripts/imap.js search [options]

Options:
  --unseen           Only unread messages
  --seen             Only read messages
  --from <email>     From address contains
  --subject <text>   Subject contains
  --recent <time>    From last X time (e.g., 30m, 2h, 7d)
  --since <date>     After date (YYYY-MM-DD)
  --before <date>    Before date (YYYY-MM-DD)
  --limit <n>        Max results (default: 20)
  --mailbox <name>   Mailbox to search (default: INBOX)
mark-read / mark-unread

メッセージを既読または未読にします。

node scripts/imap.js mark-read <uid> [uid2 uid3...]
node scripts/imap.js mark-unread <uid> [uid2 uid3...]
list-mailboxes

利用可能なメールボックス/フォルダーをすべて一覧表示します。

node scripts/imap.js list-mailboxes

SMTP コマンド(メールの送信)

send

SMTP を使用してメールを送信します。

node scripts/smtp.js send --to <email> --subject <text> [options]

必須:

  • --to <email>:宛先(複数の場合はカンマ区切り)
  • --subject <text>:メールの件名。または --subject-file <file>

任意:

  • --body <text>:プレーンテキストの本文
  • --html:本文を HTML として送信します
  • --body-file <file>:ファイルから本文を読み込みます
  • --html-file <file>:ファイルから HTML を読み込みます
  • --cc <email>:CC の宛先
  • --bcc <email>:BCC の宛先
  • --attach <file>:添付ファイル(カンマ区切り)
  • --from <email>:デフォルトの差出人を上書きします

例:

# Simple text email
node scripts/smtp.js send --to [email protected] --subject "Hello" --body "World"

# HTML email
node scripts/smtp.js send --to [email protected] --subject "Newsletter" --html --body "<h1>Welcome</h1>"

# Email with attachment
node scripts/smtp.js send --to [email protected] --subject "Report" --body "Please find attached" --attach report.pdf

# Multiple recipients
node scripts/smtp.js send --to "[email protected],[email protected]" --cc "[email protected]" --subject "Update" --body "Team update"
test

自分宛てにテストメールを送信して、SMTP 接続をテストします。

node scripts/smtp.js test

依存関係

npm install

セキュリティに関する注意事項

  • 認証情報は .env に保存してください(.gitignore に追加してください)
  • Gmail の場合:2FA が有効ならアプリパスワードを使用してください
  • 163.com の場合:アカウントのパスワードではなく、認証コード(授权码)を使用してください

トラブルシューティング

接続がタイムアウトする場合:

  • サーバーが稼働しており、アクセス可能であることを確認してください
  • ホストとポートの設定を確認してください

認証に失敗する場合:

  • ユーザー名を確認してください(通常はメールアドレス全体です)
  • パスワードが正しいことを確認してください
  • 163.com の場合:アカウントのパスワードではなく、認証コードを使用してください
  • Gmail の場合:2FA が有効ならアプリパスワードを使用してください

TLS/SSL エラーが発生する場合:

  • IMAP_TLS/SMTP_SECURE の設定をサーバーの要件に合わせてください
  • 自己署名証明書の場合:IMAP_REJECT_UNAUTHORIZED=false または SMTP_REJECT_UNAUTHORIZED=false を設定してください

コメント