2 releases (1 unstable)
1.0.0-alpha.1 | Aug 22, 2024 |
---|---|
0.11.0 | May 15, 2024 |
#36 in Email
100KB
2K
SLoC
m2sync IMAP to m2dir synchronization
m2sync is a small CLI wrapper around vomit-m2sync. 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
- After any hard-interrupted sync, run
Reach out to the mailing list if you have questions.
For more usage information, see the man page.
Configuration
m2sync uses vomit-config, which means the default configuration file
location is $XDG_CONFIG_DIR/vomit/config.toml
(usually
~/.config/vomit/config.toml
).
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.
Contributing
Please send patches to the vomit mailing list.
Feedback
The mailing list is open for all kinds of feedback, questions, and discussions.
Dependencies
~33–45MB
~773K SLoC