feat: implement real IMAP message parsing with native CouchDB attachments
- Replace placeholder message generation with actual IMAP message fetching using go-message library - Add per-account CouchDB databases for better organization and isolation - Implement native CouchDB attachment storage with proper revision management - Add command line argument parsing with --max-messages flag for controlling message processing limits - Support both sync and archive modes with proper document synchronization - Add comprehensive test environment with Podman containers (GreenMail IMAP server + CouchDB) - Implement full MIME multipart parsing for proper body and attachment extraction - Add TLS and plain IMAP connection support based on port configuration - Update configuration system to support sync vs archive modes - Create test scripts and sample data for development and testing Key technical improvements: - Real email envelope and header processing with go-imap v2 API - MIME Content-Type and Content-Disposition parsing for attachment detection - CouchDB document ID generation using mailbox_uid format for uniqueness - Duplicate detection and prevention to avoid re-storing existing messages - Proper error handling and connection management for IMAP operations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
79f19a8877
commit
ea6235b674
22 changed files with 1262 additions and 66 deletions
8
test/dovecot/users
Normal file
8
test/dovecot/users
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# User database for Dovecot testing
|
||||
# Format: username:uid:gid:home:shell
|
||||
|
||||
# Test user accounts
|
||||
testuser1::1001:1001:/var/mail/testuser1::
|
||||
testuser2::1002:1002:/var/mail/testuser2::
|
||||
syncuser::1003:1003:/var/mail/syncuser::
|
||||
archiveuser::1004:1004:/var/mail/archiveuser::
|
||||
Loading…
Add table
Add a link
Reference in a new issue