# 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