Browse Source

check whether up-to-date

pull/276/head
Roland Puntaier 5 years ago
parent
commit
d819f295c3
2 changed files with 86 additions and 40 deletions
  1. +59
    -26
      README.md
  2. +27
    -14
      mw.1

+ 59
- 26
README.md View File

@@ -26,13 +26,16 @@ sudo make install

User of Arch-based distros can also install mutt-wizard from the AUR as [mutt-wizard-git](https://aur.archlinux.org/packages/mutt-wizard-git/).

*NOTE:* If you have used an older version of mutt-wizard, especially when it used to use `offlineimap`, you need to remove your old configs. Back anything up that's important and run:
*NOTE:* If you have used an older version of mutt-wizard, especially when it used to use `offlineimap`, you need to remove your old configs.
Back up what's important and run:

```
rm -rf ~/.config/mutt ~/.msmtprc ~/.config/msmtp ~/.offlineimap ~/.offlineimaprc ~/.config/offlineimap ~/.mbsyncrc
```

The mutt-wizard is run with the command `mw`. It also installs the `mailsync` command. Once everything is setup, you'll use `neomutt` to access your mail.
The mutt-wizard is run with the command `mw`.
It also installs the `mailsync` command.
Once everything is setup, you'll use `neomutt` to access your mail.

- `mw add` -- add a new email account
- `mw ls` -- list existing accounts
@@ -43,21 +46,31 @@ The mutt-wizard is run with the command `mw`. It also installs the `mailsync` co

## Dependencies

- `neomutt` - the email client.
- `isync` - downloads and syncs the mail. (required at install)
- `msmtp` - sends the email.
- `neomutt` - the email client
- `isync` - downloads and syncs the mail (required at install)
- `msmtp` - sends the email
- `pass` - safely encrypts passwords (required at install)

There's a chance of errors if you use a slow-release distro like Ubuntu, Debian or Mint. If you get errors in `neomutt`, install the most recent version manually or manually remove the offending lines in the config in `/usr/share/mutt-wizard/mutt-wizard.muttrc`.
There's a chance of errors if you use a slow-release distro like Ubuntu, Debian or Mint.
If you get errors in `neomutt`, install the most recent version manually or manually remove the offending lines in the config in `/usr/share/mutt-wizard/mutt-wizard.muttrc`.

### Optional

- `w3m` - view HTML email and images in neomutt.
- `notmuch` - index and search mail. Install it and run `notmuch setup`, tell it that your mail is in `~/.local/share/mail/` (although `mw` will do this automatically if you haven't set notmuch up before). You can run it in mutt with `ctrl-f`. Run `notmuch new` to process new mail, although the included `mailsync` script does this for you.
- `libnotify`/`libnotify-bin` - allows notifications when syncthing mail with `mailsync`
- `abook` - a terminal-based address book. Pressing tab while typing an address to send mail to will suggest contacts that are in your abook.
- `notmuch` - index and search mail.
Install it and run `notmuch setup`.
Tell it where your mail is (`$MAILDIR` or `~/.local/share/mail/`).
Although, `mw` will do this automatically, if you haven't set notmuch up before.
You can run it in mutt with `ctrl-f`.
Run `notmuch new` to process new mail.
Although, the included `mailsync` script does this for you.
- `libnotify`/`libnotify-bin` - allows notifications when syncing mail with `mailsync`
- `abook` - a terminal-based address book.
Pressing tab while typing an address to send mail to will suggest contacts that are in your abook.
- A cron manager - if you want to enable the auto-sync feature.
- `pam-gnupg` - this is a more general program that I use. It automatically logs you into your GPG key on login so you will never need to input your password once logged on to your system. Check the repo and directions out [here](https://github.com/cruegge/pam-gnupg).
- `pam-gnupg` - this is a more general program that I use.
It automatically logs you into your GPG key on login so you will never need to input your password once logged on to your system.
Check out the repo and directions [here](https://github.com/cruegge/pam-gnupg).
- `urlview` - outputs urls in mail to browser.

## Neomutt user interface
@@ -68,31 +81,39 @@ To give you an example of the interface, here's an idea:
- `j`/`k` and `d`/`u` - vim-like bindings to go down and up (or `d`/`u` to go down/up a page).
- `l` - open mail, or attachment page or attachment
- `h` - the opposite of `l`
- `D` - delete mail
- `r`/`R` - reply/reply all to highlighted mail
- `s` - save selected mail or selected attachment
- `gs`,`gi`,`ga`,`gd`,`gS` - Press `g` followed by another letter to change mailbox: `s`ent, `i`nbox, `a`rchive, `d`rafts, `S`pam, etc.
- `M` and `C` - For `M`ove and `C`opy: follow them with one of the mailbox letters above, i.e. `MS` means "move to Spam".
- `i#` - Press `i` followed by a number 1-9 to go to a different account. If you add 9 accounts via mutt-wizard, they will each be assigned a number.
- `i#` - Press `i` followed by a number 1-9 to go to a different account.
If you add 9 accounts via mutt-wizard, they will each be assigned a number.
- `a` to add address/person to abook and `Tab` while typing address to complete one from book.
- `?` - see all keyboard shortcuts
- `ctrl-j`/`ctrl-k` - move up and down in sidebar, `ctrl-o` opens mailbox.
- `ctrl-b` - open a menu to select a url you want to open in you browser.
- `ctrl-b` - open a menu to select a url you want to open in you browser (needs urlview).
- `gm / gM` - call mutt-wizard's mailsync for one / all mail accounts

## New stuff and improvements since the original release

- `isync`/`mbsync` has replaced `offlineimap` as the backend. Offlineimap was error-prone, bloated, used obsolete Python 2 modules and required separate steps to install the system.
- honors `$MAILDIR`, `$XDG_CONFIG_HOME`, `$XDG_DATA_HOME`, `$XDG_CACHE_HOME`, if defined.
- `gm/gM` to sync mail inside `mutt`, as `o/O` has a `mutt` assignment already.
- Make channel name equal to email address to avoid choosing a new name for the same thing.
- `isync`/`mbsync` has replaced `offlineimap` as the backend.
Offlineimap was error-prone, bloated, used obsolete Python 2 modules and required separate steps to install the system.
- `mw` is now an installed program instead of just a script needed to be kept in your mutt folder.
- `dialog` is no longer used (le bloat) and the interface is simply text commands.
- More autogenerated shortcuts that allow quickly moving and copying mail between boxes.
- More elegant attachment handling. Image/video/pdf attachments without relying on the neomutt instance.
- More elegant attachment handling.
Image/video/pdf attachments without relying on the neomutt instance.
- abook integration by default.
- The messy template files and other directories have been moved or removed, leaving a clean config folder.
- msmtp configs moved to `~/.config/` and mail default location moved to `~/.local/share/mail/`, reducing mess in `~`.
- `pass` is used as a password manager instead of separately saving passwords.
- Script is POSIX sh compliant.
- Error handling for the many people who don't read or follow directions. Less errors generally.
- Addition of a manual `man mw`
- Error handling for the many people who don't read or follow directions.
Less errors generally.
- Addition of a manual `man mw`.

## Help the Project!

@@ -100,26 +121,38 @@ To give you an example of the interface, here's an idea:
- Open a PR to add new server information into `domains.csv` so their users can more easily use mutt-wizard.
- If nothing else, [Donate!](https://paypal.me/LukeMSmith)

See Luke's website [here](https://lukesmith.xyz). Email him at [luke@lukesmith.xyz](mailto:luke@lukesmith.xyz).
See Luke's website [here](https://lukesmith.xyz).
Email him at [luke@lukesmith.xyz](mailto:luke@lukesmith.xyz).

mutt-wizard is free/libre software, licensed under the GPLv3.

## Details for Tinkerers

- The critical `mutt`/`neomutt` files are in `~/.config/mutt/`.
- Put whatever global settings you want in `muttrc`. mutt-wizard will add some lines to this file which you shouldn't remove unless you know what you're doing, but you can move them up/down over your personal config lines if you need to. If you get binding conflict errors in mutt, you might need to do this.
- Each of the accounts that mutt-wizard generates will have custom settings set in a separate file in `accounts/`. You can edit these freely if you want to tinker with settings specific to an account.
- In `/usr/share/mutt-wizard` are several global config files, including `mutt-wizard`'s default settings. You can overwride this in your `muttrc` if you wish.
- The critical `mutt`/`neomutt` files are in `~/.config/mutt/` (or `$XDG_CONFIG_HOME/mutt`)
- Put whatever global settings you want into `muttrc`.
`mutt-wizard` will add some lines to this file which you shouldn't remove unless you know what you're doing.
But you can move them up/down over your personal config lines if you need to.
If you get binding conflict errors in mutt, you might need to do this.
- Each of the accounts that `mutt-wizard` generates will have custom settings set in a separate file in `accounts/`.
You can edit these freely if you want to tinker with settings specific to an account.
- In `/usr/share/mutt-wizard` are several global config files, including `mutt-wizard`'s default settings.
You can overwride this in your `muttrc` if you wish.

## Watch out for these things:

- For Gmail accounts, remember also to enable third-party ("""less secure""") applications before attempting installation. You might also need to manually "Enable IMAP" in the settings.
- Protonmail accounts will require you to set up "Protonmail Bridge" to access PM's IMAP and SMTP servers. Configure that before running mutt-wizard.
- If you have a university email, or enterprise-hosted email for work, there might be other hurdles or two-factor authentication you have to jump through. Some, for example, will want you to create a separate IMAP password, etc.
- `isync` is not fully UTF-8 compatible, so non-Latin characters may be garbled (although sync should succeed). `mw` will also not autocreate mailbox shortcuts since it is looking for English mailbox names. I strongly recommend you to set your email language to English on your mail server to avoid these problems.
- For Gmail accounts, remember also to enable third-party ("""less secure""") applications before attempting installation.
You might also need to manually "Enable IMAP" in the settings.
- Protonmail accounts will require you to set up "Protonmail Bridge" to access PM's IMAP and SMTP servers.
Configure that before running mutt-wizard.
- If you have a university email, or enterprise-hosted email for work, there might be other hurdles or two-factor authentication you have to jump through.
Some, for example, will want you to create a separate IMAP password, etc.
- `isync` is not fully UTF-8 compatible, so non-Latin characters may be garbled (although sync should succeed).
`mw` will also not autocreate mailbox shortcuts since it is looking for English mailbox names.
I strongly recommend you to set your email language to English on your mail server to avoid these problems.

## To-do

- Add ~~Mac OS~~/BSD compatibility (the script is confired to work for Mac OS now)
- Add ~~Mac OS~~/BSD compatibility (the script should work for Mac OS now)
- Add automatic tagging and mail moving via `afew`
- ~~Out-of-the-box compatibility with Protonmail Bridge~~ (I believe this is done, but more bug-testing is welcome since I don't have PM)
- Option to keep configuration for accounts that failed to connect (maybe)

+ 27
- 14
mw.1 View File

@@ -12,7 +12,7 @@ This can include offline email with
.B isync/mbsync
and configs for
.B msmtp
for sending mail, and also passwords automatically encrypted and stored with
for sending mail, and passwords automatically encrypted and stored with
.B pass.
.SH COMMANDS
.TP
@@ -26,7 +26,7 @@ list all email accounts configured by mutt-wizard
delete the configuration files for an already configured email account
.TP
.B purge
totally purge all local mutt-wizard accounts
totally purge all local mutt-wizard/mbync/msmtp settings
.TP
.B cron
toggle a cronjob that will automatically sync mail with
@@ -38,6 +38,10 @@ as often as you wish
If the user chooses to keep offline email with
.B isync,
it will be kept in
.I $MAILDIR
which defaults to
.I $XDG_DATA_HOME/share/mail/
which defaults to
.I ~/.local/share/mail/.
.B notmuch
can be used to index and search this mail by giving this directory when first running
@@ -46,9 +50,10 @@ If you have not set up notmuch before, mutt-wizard will automatically set it up
.TP
.B muttrc files
mutt-wizard will create a muttrc file for each created account holding account-specific details. These will appear in
.I ~/.config/mutt/accounts/
and can be edited by the user if needbe. Note that the mutt-wizard will also source these files and create the bindings to switch between them, and these will appear in your default
.I ~/.config/mutt/muttrc
.I $XDG_CONFIG_HOME/mutt/accounts/.
$XGD_CONFIG_HOME default to ~/.config.
Note that mutt-wizard will also source these files and create the bindings to switch between them, and these will appear in your default
.I $XDG_CONFIG_HOME/mutt/muttrc
file.
.TP
.B Mail deletion
@@ -59,13 +64,13 @@ or
will delete downloaded mail for for safety (and time)'s sake. If you want to delete downloaded mail, do so manually by removing it from the directory above.
.TP
.B Default settings
The mutt-wizard has many default settings that focus on making it aesthetically pleasing and supplying more vim-like bindings. These can be found in
mutt-wizard has many default settings that focus on making it aesthetically pleasing and supplying more vim-like bindings. These can be found in
.I /usr/share/mutt-wizard/mutt-wizard.muttrc
and the default mailcap file can be found in
.I
/usr/share/mutt-wizard/mailcap.
Any of these settings can be overwritten in
.I ~/.config/mutt/muttrc,
.I $XDG_CONFIG_HOME/mutt/muttrc,
but be mindful that your overriding binds should appear after the
.I
mutt-wizard.muttrc
@@ -82,22 +87,29 @@ If you would like to help develop mutt-wizard for others, you are invited to add
on mutt-wizard's Github <https://github.com/lukesmithxyz/mutt-wizard> or Gitlab <https://gitlab.com/lukesmithxyz/mutt-wizard> pages.
.TP
.B Gmail accounts
Google will require you to allow "less-secure" (third party) applications or use two-factor authentication in order to access their IMAP servers to download your mail. If you use Gmail, be sure to handle this before running mutt-wizard <https://support.google.com/accounts/answer/6010255>.
Google will require you to allow "less-secure" (third party) applications or use two-factor authentication in order to access their IMAP servers to download your mail.
If you use Gmail, be sure to handle this before running mutt-wizard <https://support.google.com/accounts/answer/6010255>.
.B Protonmail accounts
Protonmail users must use the Protonmail Bridge <https://protonmail.com/bridge/> to access their IMAP and SMTP servers. This too should be configured before running mutt-wizard.
Protonmail users must use the Protonmail Bridge <https://protonmail.com/bridge/> to access their IMAP and SMTP servers.
This too should be configured before running mutt-wizard.
.B Enterprise and university accounts
Many universities and businesses might host their domain's email via Google or another service. This often requires a special IMAP/SMTP-specific password that you must generate and use. Again, mutt-wizard can handle these systems, but only once they've been set up.
Many universities and businesses might host their domain's email via Google or another service.
This often requires a special IMAP/SMTP-specific password that you must generate and use.
Again, mutt-wizard can handle these systems, but only once they've been set up.
.TP
.B Password decryption
mutt-wizard uses
.I pass
and therefore
.I gpg
to decrypt your passwords. Provided your GPG key has a password, this might mean that you will be prompted for your GPG password the first time you sync or send mail in a session. Once your password is cached, it might also expire later as well.
to decrypt your passwords.
Provided your GPG key has a password, this might mean that you will be prompted for your GPG password the first time you sync or send mail in a session.
Once your password is cached, it might also expire later as well.

Because of this I strongly recommend the program
.I pam-gnupg
<https://github.com/cruegge/pam-gnupg> which automatically unlocks your GPG password on login and keeps it active, thus giving you, with mutt-wizard, secure access to all your email accounts on your system without ever having to input a password.
<https://github.com/cruegge/pam-gnupg> which automatically unlocks your GPG password on login and keeps it active.
This gives you secure access to all your email accounts on your system without ever having to input a password.

If you don't want to use this program, you can also increase the cache time of an inputted GPG password with the
.I default-cache-ttl
@@ -107,10 +119,11 @@ variables in your
.I
gpg-agent.conf.
.SH MUTT-WIZARD'S NEOMUTT CONFIGURATION
Here is a list of not only mutt-wizard's particular defaults, but what you need to get the most out of email accounts configured with mutt-wizard.
Here is a list of not only mutt-wizard's particular defaults, but what you need, to get the most out of email accounts configured with mutt-wizard.
.TP
.B Color
The mutt-wizard's default settings add color to messages in the index and color mail details to make them easier to see. New mail, in addition to being marked by the typical N, will also be bold.
mutt-wizard's default settings add color to messages in the index and color mail details to make them easier to see.
New mail, in addition to being marked by the typical N, will also be bold.
.TP
.B Movement with h/j/k/l
Use vim keys to move down


Loading…
Cancel
Save