# m2sync IMAP to m2dir synchronization
[](https://crates.io/crates/m2sync)
[](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"