Summary
通过 IMAP/SMTP 收发邮件。支持查看新邮件/未读邮件、获取邮件内容、搜索邮箱、标记已读/未读,以及发送带附件的邮件。兼容所有 IMAP/SMTP 邮件服务器,包括 Gmail、Outlook、163.com、vip.163.com、126.com、vip.126.com、188.com 和…
stvlynn/qclaw-skills · Archived
通过 IMAP/SMTP 收发邮件。支持查看新邮件/未读邮件、获取邮件?
npx skills add stvlynn/qclaw-skills --skill imap-smtp-email
通过 IMAP/SMTP 收发邮件。支持查看新邮件/未读邮件、获取邮件内容、搜索邮箱、标记已读/未读,以及发送带附件的邮件。兼容所有 IMAP/SMTP 邮件服务器,包括 Gmail、Outlook、163.com、vip.163.com、126.com、vip.126.com、188.com 和…
This repository is archived — consider an actively maintained alternative.
[SYSTEM RULES - MANDATORY - ALWAYS LOAD - DO NOT SKIP] QClaw系统基础运行规则,强制加载,不可卸…
7 installsHolistic nutrition guidance — food-health relationships, eating behaviors, sustainable habits, …
6 installs?
5 installs[MANDATORY] 本环境没有? 定时任务、模型设置、Skills/Plugins 管理等)都? 禁止直接调用 `openclaw` …
5 installsRelated neighbors and high-traction skills in the same topics — useful to compare before installing.
Implement or troubleshoot Cloudflare Email Sending and Email Routing integrations and their del…
59.4K installsGoogle Workflow: Convert a Gmail message into a Google Tasks entry.
29.4K installsRead content from a Google Doc and use it as the body of a Gmail message.
28.6K installsShare a Google Drive file and email the link with a message to recipients.
28.5K installsFind Gmail messages with attachments and save them to a Google Drive folder.
28.1K installsOther skills from stvlynn/qclaw-skills · top by installs.
npx skills add stvlynn/qclaw-skills
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
main
Parsed from SKILL.md frontmatter.
Files included with this skill beyond the listing page.
SKILL.md
6,638 B
SUMMARY.md
323 B
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.
Create .env in the skill folder or set environment variables:
# 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
| 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:
IMAPPASS / SMTPPASSImportant for 163.com:
Check for new/unread emails.
node scripts/imap.js check [--limit 10] [--mailbox INBOX] [--recent 2h]
Options:
--limit <n>: Max results (default: 10)--mailbox <name>: Mailbox to check (default: INBOX)--recent <time>: Only show emails from last X time (e.g., 30m, 2h, 7d)Fetch full email content by UID.
node scripts/imap.js fetch <uid> [--mailbox INBOX]
Download all attachments from an email, or a specific attachment.
node scripts/imap.js download <uid> [--mailbox INBOX] [--dir <path>] [--file <filename>]
Options:
--mailbox <name>: Mailbox (default: INBOX)--dir <path>: Output directory (default: current directory)--file <filename>: Download only the specified attachment (default: download all)Search emails with filters.
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 message(s) as read or unread.
node scripts/imap.js mark-read <uid> [uid2 uid3...]
node scripts/imap.js mark-unread <uid> [uid2 uid3...]
List all available mailboxes/folders.
node scripts/imap.js list-mailboxes
Send email via SMTP.
node scripts/smtp.js send --to <email> --subject <text> [options]
Required:
--to <email>: Recipient (comma-separated for multiple)--subject <text>: Email subject, or --subject-file <file>Optional:
--body <text>: Plain text body--html: Send body as HTML--body-file <file>: Read body from file--html-file <file>: Read HTML from file--cc <email>: CC recipients--bcc <email>: BCC recipients--attach <file>: Attachments (comma-separated)--from <email>: Override default senderExamples:
# 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 connection by sending a test email to yourself.
node scripts/smtp.js test
npm install
.env (add to .gitignore)Connection timeout:
Authentication failed:
TLS/SSL errors:
IMAPTLS/SMTPSECURE setting to server requirementsIMAPREJECTUNAUTHORIZED=false or SMTPREJECTUNAUTHORIZED=false