Skill flagged — review recommended

ClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.

email-reporter

v1.0.0

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

0· 342· 1 versions· 0 current· 0 all-time· Updated 1d ago· MIT-0

Install

openclaw skills install 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

Option 1: Environment Variables (Recommended)

export EMAIL_SENDER="your-email@qq.com"
export EMAIL_RECIPIENT="recipient@example.com"
export EMAIL_SMTP_HOST="smtp.qq.com"
export EMAIL_SMTP_PORT="587"
export EMAIL_SMTP_USER="your-email@qq.com"
export EMAIL_SMTP_PASS="your-auth-code"

Option 2: Config File

Create ~/.email_reporter.conf:

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

Option 3: Command Line

python3 email_reporter.py report.md --sender me@qq.com --to friend@example.com

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 "friend@example.com"

# 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", "recipient@example.com"
])

File Format Selection

ScenarioFormatDelivery
Plain text (<100KB)MarkdownDirect
With images or >500KBPDFAttachment
Data tablesMarkdown + CSVAttachment 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('your-email@qq.com', '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

Version tags

latestvk975kt29pkm8kx3ya32r6m918582nkn0

Runtime requirements

Binspython3