SkillHub

email-reporter

v1.0.0

Generic email reporting tool for OpenClaw agents. Auto-converts Markdown to PDF and sends as attachments.

Sourced from ClawHub, Authored by dirkcaiusa

Installation

Please help me install the skill `email-reporter` from SkillHub official store. npx skills add dirkcaiusa/email-reporter

Email Reporter Skill

Overview

A unified email reporting tool for OpenClaw agents. Automatically converts Markdown reports to PDF when images are detected, and sends them as attachments.

Features

  • Smart Format Detection: Auto-converts to PDF for reports with images or large files (>500KB)
  • Markdown Support: Native Markdown rendering with syntax highlighting
  • Flexible Configuration: Environment variables or config file for email settings
  • Multiple Backends: Support for msmtp, SMTP, and sendmail

Installation

clawhub install email-reporter

Configuration

export EMAIL_SENDER="[email protected]"
export EMAIL_RECIPIENT="[email protected]"
export EMAIL_SMTP_HOST="smtp.qq.com"
export EMAIL_SMTP_PORT="587"
export EMAIL_SMTP_USER="[email protected]"
export EMAIL_SMTP_PASS="your-auth-code"

Option 2: Config File

Create ~/.email_reporter.conf:

{
  "sender": "[email protected]",
  "recipient": "[email protected]",
  "smtp_host": "smtp.qq.com",
  "smtp_port": 587,
  "smtp_user": "[email protected]",
  "smtp_pass": "your-auth-code",
  "use_msmtp": false
}

Option 3: Command Line

python3 email_reporter.py report.md --sender [email protected] --to [email protected]

Usage

Basic Usage

# Send report to default recipient
python3 email_reporter.py report.md

# Specify agent name (used in subject)
python3 email_reporter.py report.md --agent "my-agent"

# Custom recipient
python3 email_reporter.py report.md --to "[email protected]"

# Custom subject
python3 email_reporter.py report.md --subject "My Analysis Report"

In Your Agent

import subprocess

# Send a report
subprocess.run([
    "python3", "skills/email-reporter/email_reporter.py",
    "reports/analysis.md",
    "--agent", "invest-agent",
    "--to", "[email protected]"
])

File Format Selection

Scenario Format Delivery
Plain text (<100KB) Markdown Direct
With images or >500KB PDF Attachment
Data tables Markdown + CSV Attachment bundle

SMTP Setup Guide

QQ Mail (腾讯)

  1. Enable SMTP: 设置 → 账户 → 开启SMTP服务
  2. Generate auth code (not your password!)
  3. Use auth code as EMAIL_SMTP_PASS

Gmail

  1. Enable 2FA
  2. Generate App Password
  3. Use app password as EMAIL_SMTP_PASS

Outlook/Office 365

export EMAIL_SMTP_HOST="smtp.office365.com"
export EMAIL_SMTP_PORT="587"

Troubleshooting

Email not sending

# Test SMTP connection
python3 -c "
import smtplib
s = smtplib.SMTP('smtp.qq.com', 587)
s.starttls()
s.login('[email protected]', 'your-auth-code')
print('Login OK')
"

PDF conversion fails

# Install dependencies
pip install markdown weasyprint

# For Linux (Ubuntu/Debian)
sudo apt-get install libpango-1.0-0 libpangoft2-1.0-0

License

MIT