EmailOS Report Command Documentation
The mailos report command generates comprehensive email reports for specified time ranges with detailed analytics and summaries.
Basic Usage
bash
mailos reportInteractive time range selector followed by detailed report generation.
Command-Line Flags
| Flag | Description | Example |
|---|---|---|
--range | Time range for report | --range "This week" |
--output | Save report to file | --output report.md |
Time Range Options
Interactive Selection
When run without --range flag, provides menu with:
- Last hour
- Today
- Yesterday
- This week
- Last week
- This month
- Last month
- Last 7 days
- Last 30 days
- This year
- Custom range
Preset Ranges
Use with --range flag:
| Range | Description |
|---|---|
"Last hour" | Previous 60 minutes |
"Today" | Midnight to now |
"Yesterday" | Previous calendar day |
"This week" | Current week (Mon-Sun) |
"Last week" | Previous full week |
"This month" | Current calendar month |
"Last month" | Previous calendar month |
"Last 7 days" | Rolling 7-day window |
"Last 30 days" | Rolling 30-day window |
"This year" | Current calendar year |
Report Contents
Summary Section
- Time period covered
- Total emails analyzed
- Daily average
- Peak activity times
Sender Analysis
- Top 10 most frequent senders
- Email count per sender
- Percentage of total volume
- New vs recurring senders
Domain Statistics
- Most common email domains
- Corporate vs personal email ratio
- Domain distribution chart
Time Analysis
- Hourly distribution
- Day of week patterns
- Peak communication times
- Response time estimates
Subject Analysis
- Common keywords
- Topic clustering
- Thread identification
- Subject line patterns
Attachment Summary
- Total attachments
- File type distribution
- Size statistics
- Sender attachment patterns
Communication Patterns
- Conversation threads
- Reply frequencies
- Communication networks
- Key relationships
Output Formats
Terminal Display (Default)
Formatted markdown with:
- Headers and sections
- ASCII charts
- Tables
- Color highlighting (if supported)
File Output
Save to markdown file:
bash
mailos report --range "This month" --output monthly-report.mdSupports:
- Markdown (.md)
- Plain text (.txt)
- HTML (.html) - auto-converted
- PDF (.pdf) - requires pandoc
Examples
Weekly Report
bash
mailos report --range "This week"Monthly Report to File
bash
mailos report --range "Last month" --output reports/december-2024.mdToday's Activity
bash
mailos report --range "Today"Custom Date Range
bash
mailos report
# Select "Custom range" from menu
# Enter start date: 2024-12-01
# Enter end date: 2024-12-15Quarterly Report
bash
# Last 90 days
mailos report --range "Last 90 days" --output Q4-report.mdReport Sections Detail
1. Executive Summary
Report Period: Dec 1-31, 2024
Total Emails: 847
Daily Average: 27.3
Busiest Day: Tuesday (156 emails)
Peak Hour: 9:00 AM - 10:00 AM2. Sender Breakdown
Top Senders:
1. [email protected] (89 emails, 10.5%)
2. [email protected] (67 emails, 7.9%)
3. [email protected] (45 emails, 5.3%)
...3. Communication Heatmap
Hour Mon Tue Wed Thu Fri Sat Sun
00:00 2 1 0 3 1 0 0
01:00 0 0 1 0 0 0 0
...
09:00 15 22 18 20 16 2 14. Thread Analysis
Active Threads: 34
Longest Thread: "Project Alpha Discussion" (23 messages)
Most Participants: "Team Meeting Notes" (8 people)5. Keyword Cloud
Common Terms:
- meeting (45 occurrences)
- project (38 occurrences)
- update (31 occurrences)
- review (28 occurrences)Advanced Features
Filtering Reports
Combine with read filters:
bash
# Report on emails from specific sender
mailos read --from [email protected] --days 30 | mailos report
# Report on unread emails
mailos read --unread --days 7 | mailos reportScheduled Reports
Create automated reports with cron:
bash
# Weekly report every Monday
0 9 * * 1 mailos report --range "Last week" --output ~/reports/weekly-$(date +%Y%m%d).md
# Monthly report on the 1st
0 8 1 * * mailos report --range "Last month" --output ~/reports/monthly-$(date +%Y%m).mdComparison Reports
Generate multiple reports for comparison:
bash
mailos report --range "This week" --output this-week.md
mailos report --range "Last week" --output last-week.md
# Compare the two reportsReport Customization
Environment Variables
MAILOS_REPORT_TIMEZONE: Set report timezoneMAILOS_REPORT_FORMAT: Default output formatMAILOS_REPORT_DETAIL: Detail level (summary/normal/detailed)
Configuration Options
In .email/report-config.json:
json
{
"include_body_preview": false,
"max_senders_shown": 20,
"include_charts": true,
"timezone": "America/New_York"
}Use Cases
1. Productivity Analysis
Track email patterns to identify:
- Peak productivity hours
- Communication bottlenecks
- Response time patterns
2. Relationship Management
Monitor:
- Key contact frequency
- Neglected relationships
- Communication balance
3. Workload Assessment
Measure:
- Email volume trends
- Seasonal patterns
- Department communication
4. Inbox Zero Progress
Track:
- Daily email processing
- Unread accumulation
- Response rates
Performance Considerations
- Reports analyze up to 1000 emails by default
- Large date ranges may take longer
- Cache results for 15 minutes
- Use specific ranges for faster generation
Integration
With Other Tools
Export reports for use in:
- Spreadsheet analysis (CSV export planned)
- Dashboard tools (JSON export planned)
- Document management systems
- Time tracking applications
API Usage (Future)
bash
# Get report as JSON
mailos report --range "Today" --format json
# Pipe to analysis tools
mailos report --range "This week" | grep "Total:" | awk '{print $2}'Tips
- Regular Reviews: Generate weekly reports for pattern recognition
- Archive Reports: Save monthly reports for long-term analysis
- Compare Periods: Look for trends across multiple reports
- Focus Areas: Use filters to report on specific senders or subjects
- Time Management: Identify and minimize peak email times
Troubleshooting
Empty Reports
- Verify emails exist in time range:
mailos read --range "..." - Check timezone settings
- Ensure proper authentication
Slow Generation
- Reduce time range
- Clear email cache:
rm -rf ~/.email/cache - Check network connection
Incorrect Counts
- Verify filter settings
- Check for duplicate emails
- Ensure IMAP sync is complete
