mail2couch/TODO.md
Ole-Morten Duesund 44efed908d docs: add comprehensive keyword filtering specification
- Update CLAUDE.md with keyword filtering in Next Steps section
- Add detailed TODO.md with feature specification, use cases, and implementation notes
- Document subjectKeywords, senderKeywords, and recipientKeywords functionality
- Include JSON configuration examples and priority assessment

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 17:19:55 +02:00

1.9 KiB

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:

{
  "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