inbox-poller

Poll a POP3 mailbox for new messages, download body + attachments, archive to dated folders, and log summaries. Uses POP3 over SSL (port 995). Tracks processed UIDs to avoid duplicates. Supports full dry-run. Use when: (1) checking for new inbound emails, (2) archiving incoming mail and attachments, (3) triggering downstream actions on new mail. Do NOT use for: sending email (use send-email skill), IMAP folder management, or calendar invites.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "inbox-poller" with this command: npx skills add tpreston3/inbox-poller

Inbox Poller

Poll a POP3 mailbox, download new messages (body + attachments ≤ 25 MB), archive them by date, and log a summary. Duplicate-safe via UID tracking.

Quick Start

# Dry-run — see what would be downloaded, change nothing
python3 scripts/poll_inbox.py --dry-run

# Live poll — download and archive new mail
python3 scripts/poll_inbox.py

# Cron (every 30 min)
# */30 * * * * python3 /home/nickwaye/.openclaw/workspace/skills/inbox-poller/scripts/poll_inbox.py >> /tmp/inbox-poller.log 2>&1

Configuration

Credentials are read from ~/.openclaw/workspace/email_config.json. The skill uses the pop3_* keys (added alongside the existing SMTP keys):

{
  "smtp_server": "smtp.dreamhost.com",
  "smtp_port": 465,
  "sender_email": "...",
  "sender_password": "...",
  "use_ssl": true,

  "pop3_server": "pop.dreamhost.com",
  "pop3_port": 995,
  "pop3_user": "nickolis79@relativeprogress.com",
  "pop3_password": "same-or-different-password",
  "pop3_ssl": true
}

Env-var overrides: POP3_SERVER, POP3_PORT, POP3_USER, POP3_PASS.

UID Tracking

references/processed_uids.json stores every Message-ID already handled. On each poll, only messages with unseen UIDs are processed.

Archive Layout

inbox-archive/
└── 2026-03-01/
    ├── 001_from-alice_subject-hello.txt      (plain-text body)
    ├── 001_from-alice_subject-hello.html     (HTML body, if present)
    ├── 001_report.pdf                        (attachment)
    └── 002_from-bob_subject-invoice.txt

Inbox Log

Each poll appends to inbox-log.md:

## 2026-03-01 13:30 MST — 2 new messages
- **From:** alice@example.com **Subject:** Hello **Attachments:** report.pdf (140 KB)
- **From:** bob@example.com **Subject:** Invoice **Attachments:** (none)

Dry-Run

Pass --dry-run to simulate the full poll:

  • Connects to POP3 server
  • Lists new (untracked) messages
  • Prints what would be downloaded and where it would be saved
  • Downloads nothing. Writes nothing. Updates no UIDs.

Attachment Policy

Same as send-email skill:

  • Allowed types: .pdf, .txt, .odf, .png, .jpg, .jpeg, .gif, .mp3
  • Max size: 25 MB per file
  • Oversized or disallowed attachments are logged but skipped (message body is still archived).

Extensibility

The script is designed to be hooked into downstream triggers:

  • "If subject contains X, run skill Y"
  • "If from matches Z, forward to Telegram"

These hooks can be added later via a references/rules.json file.

Error Handling

  • POP3 connection failure → logged, non-zero exit
  • Auth failure → logged with hint to check pop3_user / pop3_password
  • Attachment skip (wrong type / too large) → warning logged, message still archived
  • Duplicate UID → silently skipped

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Aws Fis Experiment Prepare

Use when the user wants to prepare, create, or generate an AWS FIS (Fault Injection Service) experiment configuration. Triggers on "prepare FIS experiment",...

Registry SourceRecently Updated
General

Aws Fis Experiment Execute

Use when the user wants to run a prepared AWS FIS experiment where the CloudFormation stack has already been deployed. Triggers on "execute FIS experiment",...

Registry SourceRecently Updated
General

Warranty Return Dispute Kit

Organizes a defective-product, denied-warranty, or return-window dispute into an evidence packet, timeline, support message, escalation script, contact log,...

Registry SourceRecently Updated
General

Goldman Sachs Co

提供高盛公司历史、业务模式、市场地位及关键数据,助力研究投资银行和金融机构角色分析。

Registry SourceRecently Updated