๐ฆ ClawHub
email-reporter
by @dirkcaiusa
Generic email reporting tool for OpenClaw agents. Auto-converts Markdown to PDF and sends as attachments.
๐ก Examples
Basic Usage
# Send report to default recipient
python3 email_reporter.py report.mdSpecify 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 subprocessSend a report
subprocess.run([
"python3", "skills/email-reporter/email_reporter.py",
"reports/analysis.md",
"--agent", "invest-agent",
"--to", "recipient@example.com"
])
โ๏ธ 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
๐ Tips & Best Practices
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 weasyprintFor Linux (Ubuntu/Debian)
sudo apt-get install libpango-1.0-0 libpangoft2-1.0-0
TERMINAL
clawhub install email-reporter