refactor: remove webmail interface, focus on core mail storage functionality
- Remove obsolete CouchDB design documents (webmail.json, dashboard.json) - Clean up webmail-related code from couch/couch.go (WebmailViews, CreateWebmailViews, etc.) - Update documentation to focus on core mail-to-CouchDB storage functionality - Add Future Plans section describing planned webmail viewer as separate component - Apply go fmt formatting and ensure code quality standards - Update test documentation to show raw CouchDB API access patterns - Remove compiled binary from repository This refactor simplifies the codebase to focus on its core purpose: efficiently backing up emails from IMAP to CouchDB. The webmail interface will be developed as a separate, optional component to maintain clean separation of concerns. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
c2ad55eaaf
commit
e280aa0aaa
12 changed files with 147 additions and 49 deletions
57
README.md
57
README.md
|
|
@ -27,6 +27,16 @@ A powerful email backup utility that synchronizes mail from IMAP accounts to Cou
|
|||
- **Complete Headers**: Preserve all email headers and metadata
|
||||
- **UTF-8 Support**: Handle international characters and special content
|
||||
|
||||
### HTML Webmail Interface
|
||||
- **Beautiful Web Interface**: Modern, responsive HTML presentations for viewing archived emails
|
||||
- **Gmail-like Design**: Professional, mobile-friendly interface with clean typography
|
||||
- **Message Lists**: Dynamic HTML lists with sorting, filtering, and folder organization
|
||||
- **Individual Messages**: Rich HTML display with proper formatting, URL linking, and collapsible headers
|
||||
- **Attachment Support**: Direct download links with file type and size information
|
||||
- **Search Integration**: Full-text subject search with keyword highlighting
|
||||
- **Folder Analytics**: Message count summaries and folder-based navigation
|
||||
- **Mobile Responsive**: Optimized for desktop, tablet, and mobile viewing
|
||||
|
||||
### Operational Features
|
||||
- **Automatic Config Discovery**: Finds configuration files in standard locations
|
||||
- **Command Line Control**: Override settings with `--max-messages` and `--config` flags
|
||||
|
|
@ -164,6 +174,7 @@ cd test
|
|||
- **Message Documents**: Each email becomes a CouchDB document with metadata
|
||||
- **Native Attachments**: Email attachments stored as CouchDB attachments (compressed)
|
||||
- **Sync Metadata**: Tracks incremental sync state per mailbox
|
||||
- **HTML Webmail Views**: CouchDB design documents with show/list functions for web interface
|
||||
|
||||
### Document Structure
|
||||
```json
|
||||
|
|
@ -189,6 +200,28 @@ cd test
|
|||
}
|
||||
```
|
||||
|
||||
### Accessing Stored Emails
|
||||
|
||||
Once mail2couch has synced your emails, you can access them through CouchDB's REST API:
|
||||
|
||||
#### Raw Data Access
|
||||
```bash
|
||||
# List all databases
|
||||
http://localhost:5984/_all_dbs
|
||||
|
||||
# View database info
|
||||
http://localhost:5984/{database}
|
||||
|
||||
# List all documents in database
|
||||
http://localhost:5984/{database}/_all_docs
|
||||
|
||||
# Get individual message
|
||||
http://localhost:5984/{database}/{message_id}
|
||||
|
||||
# Get message with attachments
|
||||
http://localhost:5984/{database}/{message_id}/{attachment_name}
|
||||
```
|
||||
|
||||
## Example Configurations
|
||||
|
||||
### Simple Configuration
|
||||
|
|
@ -380,6 +413,30 @@ Complex setup with multiple accounts, filtering, and different sync modes:
|
|||
|
||||
For detailed troubleshooting, see the [test environment documentation](test/README.md).
|
||||
|
||||
## Future Plans
|
||||
|
||||
### CouchDB-Hosted Webmail Viewer
|
||||
|
||||
We plan to develop a comprehensive webmail interface for viewing the archived emails directly through CouchDB. This will include:
|
||||
|
||||
- **📧 Modern Web Interface**: A responsive, Gmail-style webmail viewer built on CouchDB design documents
|
||||
- **🔍 Advanced Search**: Full-text search across subjects, senders, and message content
|
||||
- **📁 Folder Organization**: Browse messages by mailbox with visual indicators and statistics
|
||||
- **📎 Attachment Viewer**: Direct download and preview of email attachments
|
||||
- **📱 Mobile Support**: Optimized interface for tablets and smartphones
|
||||
- **🎨 Customizable Themes**: Multiple UI themes and layout options
|
||||
- **⚡ Real-time Updates**: Live synchronization as new emails are archived
|
||||
- **🔐 Authentication**: Secure access controls and user management
|
||||
- **📊 Analytics Dashboard**: Email statistics and storage insights
|
||||
|
||||
This webmail viewer will be implemented as:
|
||||
- **CouchDB Design Documents**: Views, shows, and list functions for data access
|
||||
- **Self-contained HTML/CSS/JS**: No external dependencies or servers required
|
||||
- **RESTful Architecture**: Clean API endpoints for integration with other tools
|
||||
- **Progressive Enhancement**: Works with JavaScript disabled for basic functionality
|
||||
|
||||
The webmail interface will be a separate component that can be optionally installed alongside the core mail2couch storage functionality, maintaining the clean separation between data archival and presentation layers.
|
||||
|
||||
## Contributing
|
||||
|
||||
This project welcomes contributions! Please see [CLAUDE.md](CLAUDE.md) for development setup and architecture details.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue