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

Features

  • 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

Implementation

Preferably in Rust, using the imap crate as the core.

Scope

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

Activity

  • 29 days ago: dancermak started next-generation email synchronization program
  • about 1 month ago: dancermak added keyword "rust" to next-generation email synchronization program
  • about 1 month ago: dancermak added keyword "email" to next-generation email synchronization program
  • about 1 month ago: dancermak added keyword "imap" to next-generation email synchronization program
  • about 1 month ago: dancermak originated next-generation email synchronization program
  • Show History

    Comments

    Be the first to comment!

    Similar Projects

    This project is one of its kind!