
Imap Smtp Email
Let your agent check, search, fetch, and send mail over standard IMAP/SMTP with Node scripts and a .env credential file.
Overview
IMAP/SMTP Email is an agent skill most often used in Build (also Operate and Grow) that reads and sends mail via IMAP/SMTP using Node scripts and provider-specific .env configuration.
Install
npx skills add https://github.com/boomsystel-code/openclaw-workspace --skill imap-smtp-emailWhat is this skill?
- Node scripts: check, fetch, and search via scripts/imap.js
- SMTP send path with nodemailer alongside IMAP receive
- Documented providers: Gmail, Outlook, 163/vip.163, 126/vip.126, 188/vip.188
- .env-driven IMAP_HOST, IMAP_PORT, IMAP_USER, IMAP_PASS, IMAP_TLS, IMAP_MAILBOX
- Dependencies: imap-simple, mailparser, dotenv (package lists imap 0.8.19 and nodemailer 7.x)
- 3 npm script entry points documented: check, fetch, search
Adoption & trust: 1.1k installs on skills.sh; trending (+100% hot-view momentum).
What problem does it solve?
You need your coding agent to work real inboxes and outbound mail without building a custom mail client from scratch.
Who is it for?
Solo builders automating founder inbox checks, support triage, or outbound notifications from Gmail, Outlook, or 163-family accounts.
Skip if: Products that require OAuth-only Google Workspace flows with no app passwords, or teams forbidding mailbox credentials in local .env files.
When should I use this skill?
You need to read or send email through IMAP/SMTP with configured .env credentials and the bundled Node scripts.
What do I get? / Deliverables
Configured imap.js and nodemailer flows let the agent check, fetch, search, and send email against your chosen IMAP/SMTP server.
- Inbox check and fetch results from imap.js
- Search results over configured mailbox
- Outbound messages sent via SMTP when invoked
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Build because the skill is primarily wiring external email providers into your agent toolchain via imap.js and nodemailer. Integrations subphase matches third-party mailbox protocols (Gmail, Outlook, NetEase 163/126/188) rather than app UI work.
Where it fits
Wire IMAP fetch and SMTP send into a support bot that runs beside your app repo.
Parse onboarding or billing emails from INBOX to trigger follow-up tasks in the agent session.
How it compares
Skill package for standard IMAP/SMTP, not a transactional email API vendor integration like Resend or SendGrid alone.
Common Questions / FAQ
Who is imap-smtp-email for?
Developers who want Node-based IMAP receive and SMTP send scripts their agent can invoke for Gmail, Outlook, 163.com, 126.com, 188.com, and other standard servers.
When should I use imap-smtp-email?
Use it in Build/integrations when connecting mailbox automation, in Operate/support when triaging customer email from the agent, and in Grow/lifecycle when sending or parsing lifecycle messages you already receive over IMAP.
Is imap-smtp-email safe to install?
It requires mailbox secrets in .env and network access to mail servers; review the Security Audits panel on this Prism page and scope app passwords minimally.
SKILL.md
READMESKILL.md - Imap Smtp Email
{ "ownerId": "kn70j4ejnwqjpykvwwvgymmdcd8055qp", "slug": "imap-smtp-email", "version": "0.0.2", "publishedAt": 1770100563279 } { "version": 1, "registry": "https://clawhub.ai", "slug": "imap-smtp-email", "installedVersion": "0.0.2", "installedAt": 1770468570002 } { "name": "imap-smtp-email-skill", "version": "1.0.0", "description": "IMAP/SMTP email tool for Claude. Works with Gmail, Outlook, 163.com, vip.163.com, 126.com, vip.126.com, 188.com, vip.188.com, and any standard IMAP/SMTP server.", "main": "scripts/imap.js", "scripts": { "check": "node scripts/imap.js check", "fetch": "node scripts/imap.js fetch", "search": "node scripts/imap.js search" }, "dependencies": { "dotenv": "^16.6.1", "imap": "^0.8.19", "imap-simple": "^5.1.0", "mailparser": "^3.9.3", "nodemailer": "^7.0.13" }, "keywords": [ "imap", "smtp", "email", "163.com", "126.com", "188.com", "gmail", "outlook", "skill" ], "author": "NetEase", "license": "MIT" } # IMAP/SMTP Email Skill Read and send email via IMAP/SMTP protocol. Works with any IMAP/SMTP server including Gmail, Outlook, 163.com, vip.163.com, 126.com, vip.126.com, 188.com, and vip.188.com. ## Quick Setup 1. **Create `.env` file** with your credentials: ```bash # IMAP Configuration (receiving email) IMAP_HOST=imap.gmail.com IMAP_PORT=993 IMAP_USER=your@gmail.com IMAP_PASS=your_app_password IMAP_TLS=true IMAP_MAILBOX=INBOX # SMTP Configuration (sending email) SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_SECURE=false SMTP_USER=your@gmail.com SMTP_PASS=your_app_password SMTP_FROM=your@gmail.com ``` 2. **Install dependencies:** ```bash npm install ``` 3. **Test the connection:** ```bash node scripts/imap.js check node scripts/smtp.js test ``` ## IMAP Commands (Receiving Email) ### Check for new emails ```bash node scripts/imap.js check --limit 10 node scripts/imap.js check --recent 2h # Last 2 hours node scripts/imap.js check --recent 30m # Last 30 minutes ``` ### Fetch specific email ```bash node scripts/imap.js fetch <uid> ``` ### Search emails ```bash node scripts/imap.js search --unseen node scripts/imap.js search --from "sender@example.com" node scripts/imap.js search --subject "important" node scripts/imap.js search --recent 24h ``` ### Mark as read/unread ```bash node scripts/imap.js mark-read <uid> node scripts/imap.js mark-unread <uid> ``` ### List mailboxes ```bash node scripts/imap.js list-mailboxes ``` ## SMTP Commands (Sending Email) ### Test SMTP connection ```bash node scripts/smtp.js test ``` ### Send email ```bash # Simple text email node scripts/smtp.js send --to recipient@example.com --subject "Hello" --body "World" # HTML email node scripts/smtp.js send --to recipient@example.com --subject "Newsletter" --html --body "<h1>Welcome</h1>" # Email with attachment node scripts/smtp.js send --to recipient@example.com --subject "Report" --body "Please find attached" --attach report.pdf # Multiple recipients node scripts/smtp.js send --to "a@example.com,b@example.com" --cc "c@example.com" --subject "Update" --body "Team update" ``` ## 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 163.com:** - Use **authorization code** (授权码), not account password - Enable I