mail2couch/rust/Cargo.toml
Ole-Morten Duesund 4835df070e feat: implement complete Rust version of mail2couch
- Add comprehensive Rust implementation matching Go functionality
- Configuration loading with automatic file discovery
- GNU-style command line parsing with clap (--config/-c, --max-messages/-m)
- CouchDB client integration with document storage and sync metadata
- IMAP client functionality with message fetching and parsing
- Folder filtering with wildcard pattern support (*, ?, [abc])
- Message filtering by subject, sender, and recipient keywords
- Incremental sync functionality with metadata tracking
- Bash completion generation matching Go implementation
- Cross-compatible document schemas and database structures
- Successfully tested with existing test environment

Note: TLS support and advanced email parsing features pending

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-02 19:52:14 +02:00

60 lines
No EOL
1.2 KiB
TOML

[package]
name = "mail2couch"
version = "0.1.0"
edition = "2021"
description = "A powerful email backup utility that synchronizes mail from IMAP accounts to CouchDB"
license = "MIT"
repository = "https://github.com/yourusername/mail2couch"
keywords = ["email", "backup", "imap", "couchdb", "sync"]
categories = ["email", "database"]
[dependencies]
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
# Date/time handling
chrono = { version = "0.4", features = ["serde"] }
# HTTP client for CouchDB
reqwest = { version = "0.11", features = ["json"] }
# Async runtime
tokio = { version = "1.0", features = ["full"] }
# Error handling
thiserror = "1.0"
anyhow = "1.0"
# Configuration
config = "0.13"
# IMAP client for email retrieval (using async-std compatible version)
async-imap = "0.9"
async-std = { version = "1.12", features = ["attributes"] }
# Logging
log = "0.4"
env_logger = "0.10"
# CLI argument parsing
clap = { version = "4.0", features = ["derive"] }
# File system utilities
dirs = "5.0"
# Pattern matching for folder filters
glob = "0.3"
[dev-dependencies]
# Testing utilities
tokio-test = "0.4"
tempfile = "3.0"
[lib]
name = "mail2couch"
path = "src/lib.rs"
[[bin]]
name = "mail2couch"
path = "src/main.rs"