There are various email synchronization programs like offlineimap or mbsync, which have some inherent limitations:
- mbsync does not support IMAP IDLE
- offlineimap does not yet support Python 3, proper IDLE and threading support would need a complete rewrite
- support only IMAP, no POP3
- IMAP IDLE support is a must, especially:
- reconnection of dropped IDLE connections
- support IDLE for all IMAP folders
- be able to synchronize IMAP <-> Maildir at first, IMAP <-> IMAP would be nice to have
- bullet-proof cryptography, especially with respect to certificate validation and resistance to downgrade attacks (preferably make the TLS version configurable)
- use inotify API to support immediate synchronization back to the server if a message changes locally
- as simple configuration as possible with good defaults
nice to have:
- incorporate an API for external tagging tools like notmuch to synchronize tags if the remote supports it
- GMail support
Preferably in Rust, using the imap crate as the core.
Try to create a MVP, especially flesh out proper testing and learn enough about the problem.
Looking for mad skills in:
imap email rust
This project is part of:
Hack Week 18
This project is one of its kind!