# m2sync IMAP to m2dir synchronization [![Crates.io](https://img.shields.io/crates/v/m2sync.svg)](https://crates.io/crates/m2sync) [![builds.sr.ht status](https://builds.sr.ht/~bitfehler/vomit-m2sync/commits.svg)](https://builds.sr.ht/~bitfehler/vomit-m2sync/commits?) m2sync is a small CLI wrapper around [vomit-m2sync][1]. It aims to provide access to all functionality that vomit-m2sync offers. Currently, syncing a local m2dir and a remote IMAP mailbox in both directions is supported. m2sync has to be run periodically to keep the two synchronized. ⚠️ **NOTE:** ⚠️ until m2sync has reached version 1.0 it has to be considered experimental, and it is entirely possible that it will **delete your email**! Here is some quick steps to hopefully avoid that: * Currently, m2sync will refuse to delete an entire mailbox (folder) unless the `--force` option is used * The code paths for one-way and two-way sync are explicitly kept seperate, so if you just want to get the remote state locally, run `m2sync --pull`, it will not touch your remote mailbox * A state cache is required for two-way sync to function properly, but caches are hard. One area of concern are potentially untested failure cases: * After any hard-interrupted sync, run `m2sync --list` and inspect the result * If in doubt, run `m2sync --pull` once (potentially undoing some local changes) to get back to a clean state Reach out to the [mailing list][3] if you have questions. [1]: https://crates.io/crates/vomit-m2sync "vomit-m2sync on crates.io" For more usage information, see the [man page][5]. [5]: https://bitfehler.net/man/m2sync.1.html "m2sync(1) man page" # Configuration m2sync uses [vomit-config][4], which means the default configuration file location is `$XDG_CONFIG_DIR/vomit/config.toml` (usually `~/.config/vomit/config.toml`). [4]: https://docs.rs/vomit-config Example configuration file: ``` [myaccount] local = "~/.mail" remote = "imap.example.com:993" user = "myusername" pass-cmd = "pass show mail/myaccount" # or use this: #password = "s3cr34" ``` ## The Vomit project Both vomit-m2sync and m2sync are part of the [Vomit project][2]. [2]: https://sr.ht/~bitfehler/vomit "Vomit project page on SourceHut" ## Contributing Please send patches to the [vomit mailing list][3]. ## Feedback The [mailing list][3] is open for all kinds of feedback, questions, and discussions. [3]: https://lists.sr.ht/~bitfehler/vomit "The Vomit mailing list"