← 返回 Skills 市场
tmundi3210

.Imap Smtp Email.Disabled.20260401 113327

作者 tmundi3210 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
110
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install imap-smtp-email-disabled-20260401-113327
功能描述
Read and send email via IMAP/SMTP. Check for new/unread messages, fetch content, search mailboxes, mark as read/unread, and send emails with attachments. Sup...
使用说明 (SKILL.md)

IMAP/SMTP Email Tool

Read, search, and manage email via IMAP protocol. Send email via SMTP. Supports Gmail, Outlook, 163.com, vip.163.com, 126.com, vip.126.com, 188.com, vip.188.com, and any standard IMAP/SMTP server.

Configuration

Run the setup script to configure your email account:

bash setup.sh

Configuration is stored at ~/.config/imap-smtp-email/.env (survives skill updates). If no config is found there, the skill falls back to a .env file in the skill directory (for backward compatibility).

Config file format

# Default account (no prefix)
IMAP_HOST=imap.gmail.com
IMAP_PORT=993
[email protected]
IMAP_PASS=your_password
IMAP_TLS=true
IMAP_REJECT_UNAUTHORIZED=true
IMAP_MAILBOX=INBOX

SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_SECURE=false
[email protected]
SMTP_PASS=your_password
[email protected]
SMTP_REJECT_UNAUTHORIZED=true

# File access whitelist (security)
ALLOWED_READ_DIRS=~/Downloads,~/Documents
ALLOWED_WRITE_DIRS=~/Downloads

Multi-Account

You can configure additional email accounts in the same config file. Each account uses a name prefix (uppercase) on all variables.

Adding an account

Run the setup script and choose "Add a new account":

bash setup.sh

Or manually add prefixed variables to ~/.config/imap-smtp-email/.env:

# Work account (WORK_ prefix)
WORK_IMAP_HOST=imap.company.com
WORK_IMAP_PORT=993
[email protected]
WORK_IMAP_PASS=password
WORK_IMAP_TLS=true
WORK_IMAP_REJECT_UNAUTHORIZED=true
WORK_IMAP_MAILBOX=INBOX
WORK_SMTP_HOST=smtp.company.com
WORK_SMTP_PORT=587
WORK_SMTP_SECURE=false
[email protected]
WORK_SMTP_PASS=password
[email protected]
WORK_SMTP_REJECT_UNAUTHORIZED=true

Using a named account

Add --account \x3Cname> before the command:

node scripts/imap.js --account work check
node scripts/smtp.js --account work send --to [email protected] --subject Hi --body Hello

Without --account, the default (unprefixed) account is used.

Account name rules

  • Letters and digits only (e.g., work, 163, personal2)
  • Case-insensitive: work and WORK refer to the same account
  • The prefix in .env is always uppercase (e.g., WORK_IMAP_HOST)
  • ALLOWED_READ_DIRS and ALLOWED_WRITE_DIRS are shared across all accounts (always unprefixed)

Common Email Servers

Provider IMAP Host IMAP Port SMTP Host SMTP Port
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

Important for Gmail:

  • Gmail does not accept your regular account password
  • You must generate an App Password: https://myaccount.google.com/apppasswords
  • Use the generated 16-character App Password as IMAP_PASS / SMTP_PASS
  • Requires Google Account with 2-Step Verification enabled

Important for 163.com:

  • Use authorization code (授权码), not account password
  • Enable IMAP/SMTP in web settings first

IMAP Commands (Receiving Email)

check

Check for new/unread emails.

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

Options:

  • --limit \x3Cn>: Max results (default: 10)
  • --mailbox \x3Cname>: Mailbox to check (default: INBOX)
  • --recent \x3Ctime>: Only show emails from last X time (e.g., 30m, 2h, 7d)

fetch

Fetch full email content by UID.

node scripts/imap.js [--account \x3Cname>] fetch \x3Cuid> [--mailbox INBOX]

download

Download all attachments from an email, or a specific attachment.

node scripts/imap.js [--account \x3Cname>] download \x3Cuid> [--mailbox INBOX] [--dir \x3Cpath>] [--file \x3Cfilename>]

Options:

  • --mailbox \x3Cname>: Mailbox (default: INBOX)
  • --dir \x3Cpath>: Output directory (default: current directory)
  • --file \x3Cfilename>: Download only the specified attachment (default: download all)

search

Search emails with filters.

node scripts/imap.js [--account \x3Cname>] search [options]

Options:
  --unseen           Only unread messages
  --seen             Only read messages
  --from \x3Cemail>     From address contains
  --subject \x3Ctext>   Subject contains
  --recent \x3Ctime>    From last X time (e.g., 30m, 2h, 7d)
  --since \x3Cdate>     After date (YYYY-MM-DD)
  --before \x3Cdate>    Before date (YYYY-MM-DD)
  --limit \x3Cn>        Max results (default: 20)
  --mailbox \x3Cname>   Mailbox to search (default: INBOX)

mark-read / mark-unread

Mark message(s) as read or unread.

node scripts/imap.js [--account \x3Cname>] mark-read \x3Cuid> [uid2 uid3...]
node scripts/imap.js [--account \x3Cname>] mark-unread \x3Cuid> [uid2 uid3...]

list-mailboxes

List all available mailboxes/folders.

node scripts/imap.js [--account \x3Cname>] list-mailboxes

list-accounts

List all configured email accounts.

node scripts/imap.js list-accounts
node scripts/smtp.js list-accounts

Shows account name, email address, server addresses, and configuration status.

SMTP Commands (Sending Email)

send

Send email via SMTP.

node scripts/smtp.js [--account \x3Cname>] send --to \x3Cemail> --subject \x3Ctext> [options]

Required:

  • --to \x3Cemail>: Recipient (comma-separated for multiple)
  • --subject \x3Ctext>: Email subject, or --subject-file \x3Cfile>

Optional:

  • --body \x3Ctext>: Plain text body
  • --html: Send body as HTML
  • --body-file \x3Cfile>: Read body from file
  • --html-file \x3Cfile>: Read HTML from file
  • --cc \x3Cemail>: CC recipients
  • --bcc \x3Cemail>: BCC recipients
  • --attach \x3Cfile>: Attachments (comma-separated)
  • --from \x3Cemail>: Override default sender

Examples:

# 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 "\x3Ch1>Welcome\x3C/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

Test SMTP connection by sending a test email to yourself.

node scripts/smtp.js [--account \x3Cname>] test

Dependencies

npm install

Security Notes

  • Configuration is stored at ~/.config/imap-smtp-email/.env with 600 permissions (owner read/write only)
  • Gmail: regular password is rejected — generate an App Password at https://myaccount.google.com/apppasswords
  • For 163.com: use authorization code (授权码), not account password

Troubleshooting

Connection timeout:

  • Verify server is running and accessible
  • Check host/port configuration

Authentication failed:

  • Verify username (usually full email address)
  • Check password is correct
  • For 163.com: use authorization code, not account password
  • For Gmail: regular password won't work — generate an App Password at https://myaccount.google.com/apppasswords

TLS/SSL errors:

  • Match IMAP_TLS/SMTP_SECURE setting to server requirements
  • For self-signed certs: set IMAP_REJECT_UNAUTHORIZED=false or SMTP_REJECT_UNAUTHORIZED=false
安全使用建议
This skill is coherent with its description and implements an on-disk config-driven email client. Before installing: (1) review the setup.sh and scripts yourself if you can, because setup.sh will prompt for and write your email credentials to ~/.config/imap-smtp-email/.env (stored plaintext); (2) prefer provider-specific App Passwords/authorization codes (e.g., Gmail app password) instead of your primary account password; (3) set ALLOWED_READ_DIRS and ALLOWED_WRITE_DIRS tightly (single directory) to limit file access; (4) understand setup.sh will attempt IMAP and SMTP tests (it may send a test email to your address); (5) if you need stronger protection, keep the config file on encrypted storage or modify the code to read credentials from a secure secret store rather than an unencrypted .env.
功能分析
Type: OpenClaw Skill Name: imap-smtp-email-disabled-20260401-113327 Version: 1.0.0 The skill provides legitimate IMAP and SMTP functionality for managing and sending emails. It includes proactive security measures such as directory whitelisting (ALLOWED_READ_DIRS and ALLOWED_WRITE_DIRS) in scripts/imap.js and scripts/smtp.js to prevent unauthorized file access, and it ensures sensitive configuration files are stored with restricted (600) permissions via setup.sh. No evidence of data exfiltration, malicious execution, or prompt injection was found.
能力评估
Purpose & Capability
The skill name/description match its implementation: it provides IMAP receive and SMTP send functionality and requires node/npm (declared). It manages account credentials via a local ~/.config/imap-smtp-email/.env file created by setup.sh rather than listing specific environment variables in registry metadata; this is pragmatic but the metadata omission is worth calling out.
Instruction Scope
The SKILL.md and scripts limit actions to: reading the local config file, connecting to IMAP/SMTP servers, reading/writing attachments only under ALLOWED_READ_DIRS / ALLOWED_WRITE_DIRS, and sending test emails during setup. There are no hidden network callbacks or out-of-band exfil endpoints in the code—only standard IMAP/SMTP connections.
Install Mechanism
There is no automated install that downloads arbitrary code; the package includes local Node scripts and a shell setup helper. No remote archives or URL-based installers are used. The user must run setup.sh and has to have node/npm installed.
Credentials
The skill does not declare required env vars in registry metadata, but it legitimately needs IMAP/SMTP credentials (IMAP_USER/IMAP_PASS, SMTP_USER/SMTP_PASS, hosts/ports) stored in ~/.config/imap-smtp-email/.env. Those credentials are saved in plaintext to disk by setup.sh. The code enforces ALLOWED_READ_DIRS and ALLOWED_WRITE_DIRS which limits filesystem access; however storing passwords unencrypted on disk is a sensitive practice the user should consider.
Persistence & Privilege
The skill writes/reads its own config file under ~/.config/imap-smtp-email/.env and does not request platform-wide persistent privileges (always:false). It does not modify other skills or global agent settings. Note: as with all skills, autonomous invocation is permitted by default, but this skill's network actions are limited to IMAP/SMTP servers.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install imap-smtp-email-disabled-20260401-113327
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /imap-smtp-email-disabled-20260401-113327 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
- Initial release: IMAP/SMTP Email Tool. - Supports reading, searching, and managing email via IMAP. - Send email (including attachments) via SMTP. - Multi-account configuration with account name prefixes. - Compatible with major providers (Gmail, Outlook, 163.com, etc.). - Includes setup script, security options, and detailed usage instructions.
元数据
Slug imap-smtp-email-disabled-20260401-113327
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

.Imap Smtp Email.Disabled.20260401 113327 是什么?

Read and send email via IMAP/SMTP. Check for new/unread messages, fetch content, search mailboxes, mark as read/unread, and send emails with attachments. Sup... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 110 次。

如何安装 .Imap Smtp Email.Disabled.20260401 113327?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install imap-smtp-email-disabled-20260401-113327」即可一键安装,无需额外配置。

.Imap Smtp Email.Disabled.20260401 113327 是免费的吗?

是的,.Imap Smtp Email.Disabled.20260401 113327 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

.Imap Smtp Email.Disabled.20260401 113327 支持哪些平台?

.Imap Smtp Email.Disabled.20260401 113327 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 .Imap Smtp Email.Disabled.20260401 113327?

由 tmundi3210(@tmundi3210)开发并维护,当前版本 v1.0.0。

💬 留言讨论