# mail2couch TODO and Feature Requests ## Planned Features ### Keyword Filtering for Messages Add support for filtering messages by keywords in various message fields. This would extend the current `messageFilter` configuration. **Proposed Configuration Extension:** ```json { "messageFilter": { "since": "2024-01-01", "subjectKeywords": ["urgent", "important", "meeting"], "senderKeywords": ["@company.com", "notifications"], "recipientKeywords": ["team@company.com", "all@"] } } ``` **Implementation Details:** - `subjectKeywords`: Array of keywords to match in email subject lines - `senderKeywords`: Array of keywords to match in sender email addresses or names - `recipientKeywords`: Array of keywords to match in recipient (To/CC/BCC) addresses or names - Keywords should support both inclusive (must contain) and exclusive (must not contain) patterns - Case-insensitive matching by default - Support for simple wildcards or regex patterns **Use Cases:** 1. **Corporate Email Filtering**: Only backup emails from specific domains or containing work-related keywords 2. **Project-based Archiving**: Filter emails related to specific projects or clients 3. **Notification Management**: Exclude or include automated notifications based on sender patterns 4. **Security**: Filter out potential spam/phishing by excluding certain keywords or senders **Implementation Priority:** Medium - useful for reducing storage requirements and focusing on relevant emails. ## Other Planned Improvements 1. **Real IMAP Message Parsing**: Replace placeholder data with actual message content 2. **Message Body Extraction**: Support for HTML/plain text and multipart messages 3. **Attachment Handling**: Optional support for email attachments 4. **Batch Operations**: Improve CouchDB insertion performance 5. **Error Recovery**: Retry logic and partial sync recovery 6. **Testing**: Comprehensive unit test coverage