# Send eMail manager lite to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "email-manager-lite",
    "name": "eMail manager lite",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/jorgermp/email-manager-lite",
    "canonicalUrl": "https://clawhub.ai/jorgermp/email-manager-lite",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/email-manager-lite",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=email-manager-lite",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "CHANGELOG.md",
      "package.json",
      "README.md",
      "scripts/email.js",
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "email-manager-lite",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-01T19:27:06.263Z",
      "expiresAt": "2026-05-08T19:27:06.263Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=email-manager-lite",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=email-manager-lite",
        "contentDisposition": "attachment; filename=\"email-manager-lite-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "email-manager-lite"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/email-manager-lite"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/email-manager-lite",
    "downloadUrl": "https://openagent3.xyz/downloads/email-manager-lite",
    "agentUrl": "https://openagent3.xyz/skills/email-manager-lite/agent",
    "manifestUrl": "https://openagent3.xyz/skills/email-manager-lite/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/email-manager-lite/agent.md"
  }
}
```
## Documentation

### Email Manager Lite v0.2

A fully self-contained email management skill for OpenClaw. Uses standard IMAP and SMTP protocols with zero external dependencies.

### 🔍 Advanced Search & Filters

Search by sender (--from)
Search by subject keywords (--subject)
Filter by date range (--since, --before)
Filter by read/unread status (--seen, --unseen)
Search in email body (--body, warning: can be slow)

### 📁 Folder Management

List all IMAP folders with folders command
Move emails between folders with move command
Automatic validation of folder existence

### 📎 Attachment Information

Automatic detection of attachments
Display attachment details:

Filename
MIME type
File size (formatted KB/MB)


Shown in both read and search results

### 🔧 Installation

cd skills/portable-email-manager
npm install

Dependencies are bundled in package.json:

nodemailer - SMTP email sending
imap-simple - IMAP operations
mailparser - Email parsing and attachment detection

### 🔐 Credentials

Set these environment variables:

export EMAIL_USER="your.email@domain.com"
export EMAIL_PASS="your-app-password"

Recommended: Use App Passwords for Gmail, Outlook, Zoho instead of main password.

### Provider Setup

Zoho Mail (default):

Already configured for smtp.zoho.eu and imap.zoho.eu
Generate App Password: https://accounts.zoho.eu/home#security/apppasswords

Gmail:

Edit scripts/email.js and change:
host: 'smtp.gmail.com'  // SMTP
host: 'imap.gmail.com'  // IMAP


Enable 2FA and create App Password: https://myaccount.google.com/apppasswords

Outlook/Hotmail:

Edit to use smtp.office365.com / outlook.office365.com
Port 587 for SMTP (TLS)

### Send Email

./scripts/email.js send "recipient@example.com" "Subject" "Email body text"

Example:

./scripts/email.js send "boss@company.com" "Weekly Report" "Attached is this week's summary."

### Read Recent Emails

./scripts/email.js read [limit]

Examples:

# Read last 5 emails (default)
./scripts/email.js read

# Read last 20 emails
./scripts/email.js read 20

Output includes:

UID (unique ID for moving)
From/To addresses
Subject and date
Attachment count and details
Email body preview (first 500 chars)

### Advanced Search

./scripts/email.js search [options]

Search Options:

OptionDescriptionExample--from <email>Filter by sender--from "boss@company.com"--subject <text>Filter by subject keywords--subject "invoice"--since <date>Emails after date--since "Jan 1, 2026"--before <date>Emails before date--before "Feb 1, 2026"--unseenOnly unread emails--unseen--seenOnly read emails--seen--body <text>Search in body (slow!)--body "meeting"--limit <n>Max results--limit 10

Examples:

# Find unread emails from specific sender
./scripts/email.js search --from "client@example.com" --unseen

# Search by subject
./scripts/email.js search --subject "invoice" --limit 5

# Date range search
./scripts/email.js search --since "Jan 15, 2026" --before "Feb 1, 2026"

# Search in body (use sparingly - can be slow)
./scripts/email.js search --body "quarterly review"

# Combine multiple filters
./scripts/email.js search --from "boss@company.com" --subject "urgent" --unseen --limit 3

### List Folders

./scripts/email.js folders

Shows hierarchical tree of all IMAP folders with attributes.

Example output:

📁 INBOX
📁 Sent
📁 Archive
📁 Drafts
📁 Spam
📁 Trash

### Move Email to Folder

./scripts/email.js move <uid> <folder-name>

Important:

Get the uid from read or search output
Folder name is case-sensitive
Script validates folder exists before moving

Examples:

# First, find the email and note its UID
./scripts/email.js search --from "newsletter@example.com"
# Output shows: UID: 12345

# Move to Archive folder
./scripts/email.js move 12345 "Archive"

# Move to custom folder
./scripts/email.js move 67890 "Projects/Work"

Error handling:

If folder doesn't exist, shows list of available folders
Validates UID exists before attempting move

### Help

./scripts/email.js help

Shows complete usage guide with all commands and examples.

### Daily Email Triage

# Check unread emails
./scripts/email.js search --unseen --limit 10

# Move newsletters to folder
./scripts/email.js search --from "newsletter@site.com" --limit 1
./scripts/email.js move <uid> "Newsletters"

### Find Specific Email

# Search by sender and subject
./scripts/email.js search --from "client@example.com" --subject "proposal"

# Search by date
./scripts/email.js search --since "Jan 20, 2026" --subject "meeting notes"

### Archive Old Emails

# Find old read emails
./scripts/email.js search --before "Dec 1, 2025" --seen --limit 50

# Move each to Archive (use UID from output)
./scripts/email.js move <uid> "Archive"

### Check for Attachments

# Read recent emails and see attachment info
./scripts/email.js read 10

# Search output automatically shows:
# - Number of attachments
# - Filename, type, and size for each

### 🔒 Security

Credentials never logged or stored in files
TLS/SSL encryption for all connections
App Passwords recommended over account passwords
No data leaves your machine except IMAP/SMTP connections

### ⚙️ Configuration

Default configuration is optimized for Zoho Mail EU.

To use another provider, edit scripts/email.js:

// SMTP Configuration
const smtpConfig = {
  host: 'smtp.your-provider.com',
  port: 465,  // or 587 for TLS
  secure: true,  // true for SSL (465), false for TLS (587)
  auth: {
    user: EMAIL_USER,
    pass: EMAIL_PASS
  }
};

// IMAP Configuration
const imapConfig = {
  imap: {
    user: EMAIL_USER,
    password: EMAIL_PASS,
    host: 'imap.your-provider.com',
    port: 993,
    tls: true,
    authTimeout: 20000
  }
};

### 🚀 Performance Notes

Body search (--body) can be slow on large mailboxes - use sparingly
Subject/From search is fast - uses IMAP server-side filtering
Date filters are efficient
Limit results with --limit for faster responses

### 🐛 Troubleshooting

"Authentication failed"

Verify EMAIL_USER and EMAIL_PASS are set correctly
Use App Password, not account password
Check provider settings (2FA, less secure apps, etc.)

"Folder not found"

Use folders command to see exact folder names
Folder names are case-sensitive
Some providers use different names (e.g., "Sent Items" vs "Sent")

"Connection timeout"

Check firewall/network settings
Verify IMAP/SMTP ports are accessible
Try increasing authTimeout in config

"No emails found"

Check search criteria
Verify emails exist in INBOX (not other folders)
Try broader search (remove some filters)

### v0.2.0 (Current)

✨ Advanced search with multiple filters
📁 Folder management (list, move)
📎 Attachment detection and info
🎨 Improved output formatting
📚 Comprehensive documentation

### v0.1.0

Basic send/read functionality
Zoho Mail support
IMAP/SMTP foundation

### 🤝 Compatibility

Tested with:

✅ Zoho Mail (EU & US)
✅ Gmail
✅ Outlook/Hotmail
✅ iCloud Mail
✅ Custom IMAP/SMTP servers

### 💡 Tips

Use UIDs for automation: Save UIDs from search results to move emails programmatically
Combine filters: Multiple filters create AND conditions for precise searches
Folder organization: List folders first to plan your organization strategy
Date format: Use natural language dates like "Jan 1, 2026" or "December 25, 2025"
Attachment filtering: Look for "Attachments: X" in search output to find emails with files

### 📄 License

ISC - Use freely in your OpenClaw setup.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: jorgermp
- Version: 1.0.1
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-01T19:27:06.263Z
- Expires at: 2026-05-08T19:27:06.263Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/email-manager-lite)
- [Send to Agent page](https://openagent3.xyz/skills/email-manager-lite/agent)
- [JSON manifest](https://openagent3.xyz/skills/email-manager-lite/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/email-manager-lite/agent.md)
- [Download page](https://openagent3.xyz/downloads/email-manager-lite)