~soywod/neverest-cli

CLI to synchronize, backup and restore emails
release v1.0.0-beta
rename check command to doctor

clone

read-only
https://git.sr.ht/~soywod/neverest-cli
read/write
git@git.sr.ht:~soywod/neverest-cli

You can also use your local clone with git send-email.

#📫 Neverest CLI release chat

CLI to synchronize, backup and restore emails, based on email-lib.

screenshot

The project is under active development, do not use in production before the final v1.0.0 (or at least do some backups).

#Features

Coming soon:

  • POP, JMAP and mbox support.
  • Editing configuration via wizard.
  • Native backup and restore support.

#Installation

Packaging status
# Cargo
$ cargo install neverest

# Nix
$ nix-env -i neverest

Please read the documentation for other installation methods.

#Configuration

Just run neverest, the wizard will help you to configure your default account. You can also manually edit your configuration at ~/.config/neverest/config.toml:

config.sample.toml
[accounts.example]

# The current `example` account will be used by default.
default = true

# Filter folders according to the given rules.
#
# folder.filter.include = ["INBOX", "Sent"]
# folder.filter.exclude = ["All Mails"]
folder.filter = "all"

# Filter envelopes according to the given rules.
#
# envelope.filter.before = "1990-12-31T23:59:60Z"
# envelope.filter.after = "1990-12-31T23:59:60Z"

# The left backend configuration.
#
# In this example, the left side acts as our local cache.
left.backend.type = "maildir"
left.backend.root-dir = "/tmp/example"

# The left backend permissions.
#
# Example of a full permissive backend (default behaviour):
left.folder.permissions.create = true
left.folder.permissions.delete = true
left.flag.permissions.update = true
left.message.permissions.create = true
left.message.permissions.delete = true

# The right backend configuration.
#
# In this example, the right side acts as our remote.
right.backend.type = "imap"
right.backend.host = "localhost"
right.backend.port = 3143
right.backend.login = "alice@localhost"

# The right backend password.
#
# right.backend.passwd.cmd = "echo password"
# right.backend.passwd.keyring = "password-keyring-entry"
right.backend.passwd.raw = "password"

# The right backend encryption.
#
# right.backend.encryption = "tls" # or true
# right.backend.encryption = "start-tls"
right.backend.encryption = "none" # or false

# The right backend permissions.
#
# In this example, we set up safe permissions by denying deletions
# remote side.
right.folder.permissions.delete = false
right.message.permissions.delete = false

# The right folder aliases
#
# In this example, we define custom folder aliases for the right
# side. They are useful when you need to map left and right folders
# together.
right.folder.aliases.inbox = "Inbox"
right.folder.aliases.sent = "Sent Mails"

Please read the documentation for more detailed information.

#Contributing

If you want to report a bug, please send an email to the bug tracker at ~soywod/pimalaya@todo.sr.ht.

If you want to propose a feature or fix a bug, please send a patch to the mailing list at ~soywod/pimalaya@lists.sr.ht. The simplest way to send a patch is to use git send-email, follow this guide to configure git properly.

If you just want to discuss about the project, feel free to join the Matrix workspace #pimalaya.neverest or contact me directly @soywod. You can also subscribe or unsubscribe to the mailing list.

Please read the contributing guide for more detailed information.

#Sponsoring

nlnet

Special thanks to the NLnet foundation and the European Commission that helped the project to receive financial support from:

If you appreciate the project, feel free to donate using one of the following providers:

GitHub PayPal Ko-fi Buy Me a Coffee Liberapay