imap-smtp-email について
IMAP/SMTP Email Toolは、IMAPでメールを読み取り管理し、SMTPで送信するコマンドラインツールです。一般的なメールサービスや標準メールサーバーを使うユーザー向けで、検索、添付ファイルの取得、既読状態の管理に対応します。
主な機能
- 01メールの確認、取得、検索
- 02メール添付ファイルのダウンロード
- 03既読・未読の切り替え
- 04SMTPによるメール送信
- 05本文、CC、添付ファイルの送信
活用シーン
- 01最近の未読メールを確認
- 02メールを検索して添付を取得
- 03コマンドラインから報告メールを送信
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ boomsystel-code/ openclaw-workspace --skill imap-smtp-emailインストール後、Claude Code で/imap-smtp-emailを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
_meta.jsonpackage.jsonREADME.mdsetup.sh.clawhub/origin.jsonscripts/imap.jssmtp.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.com | imap.163.com | 993 | smtp.163.com | 465 |
| vip.163.com | imap.vip.163.com | 993 | smtp.vip.163.com | 465 |
| 126.com | imap.126.com | 993 | smtp.126.com | 465 |
| vip.126.com | imap.vip.126.com | 993 | smtp.vip.126.com | 465 |
| 188.com | imap.188.com | 993 | smtp.188.com | 465 |
| vip.188.com | imap.vip.188.com | 993 | smtp.vip.188.com | 465 |
| yeah.net | imap.yeah.net | 993 | smtp.yeah.net | 465 |
| Gmail | imap.gmail.com | 993 | smtp.gmail.com | 587 |
| Outlook | outlook.office365.com | 993 | smtp.office365.com | 587 |
| QQ Mail | imap.qq.com | 993 | smtp.qq.com | 587 |
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を設定してください
コメント
Markdown 対応