You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 6.3 KiB

6 years ago
5 years ago
5 years ago
6 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. # mutt-wizard
  2. Get this great stuff without effort:
  3. - A full-featured and autoconfigured email client on the terminal with neomutt
  4. - Mail stored offline so you can view and write email while away from internet and keep backups
  5. Specifically, this wizard:
  6. - Determines your email server's IMAP and SMTP servers and ports
  7. - Creates dotfiles for `neomutt`, `isync`, and `msmtp` appropriate for your email address
  8. - Encrypts and stores locally your password for easy remote access, accessible only by your GPG key
  9. - Handles as many as nine separate email accounts automatically
  10. - Auto-creates bindings to switch between accounts or between mailboxes
  11. - Can automatically set mail updates as often as you want to sync your mail and update you when new mail arrives
  12. - Provides sensible defaults and an attractive appearance for the neomutt email client
  13. - If mutt-wizard doesn't know your server's IMAP/SMTP info by default, it will prompt you for them and will put them in all the right places.
  14. ## Install and Use
  15. ```
  16. git clone https://github.com/LukeSmithxyz/mutt-wizard
  17. cd mutt-wizard
  18. sudo make install
  19. ```
  20. The mutt-wizard is run with the command `mw`. It also installs the `mailsync` command.
  21. Install these required programs:
  22. - `neomutt` - the email client.
  23. - `isync` - downloads and syncs the mail. (required at install)
  24. - `msmtp` - sends the email.
  25. - `pass` - safely encrypts passwords (required at install)
  26. You also need a GPG key pair to encrypt passwords.
  27. If you don't know what that is, just run `gpg --full-gen-key` (or `gpg2 --full-gen-key`) to get one.
  28. You might also want some good optional stuff:
  29. - `w3m` - view HTML email and images in neomutt.
  30. - `notmuch` - index and search mail. Install it and run `notmuch setup`, tell it that your mail is in `~/.local/share/mail/`. 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.
  31. - `abook` - a terminal-based address book. Pressing tab while typing an address to send mail to will suggest contacts that are in your abook.
  32. - A cron manager - if you want to enable the auto-sync feature.
  33. ## Running mutt-wizard (`mw`)
  34. - `mw add` -- add a new email account
  35. - `mw ls` -- list existing accounts
  36. - `mw pass` -- revise an account's password
  37. - `mw delete` -- deleted an added account
  38. - `mw purge` -- delete all accounts and settings
  39. - `mw cron` -- toggle/configure a cronjob to sync mail
  40. ## User interface
  41. To give you an example of the interface, here's an idea:
  42. - `m` - send mail (uses your default `$EDITOR` to write)
  43. - `j`/`k` and `d`/`u` - vim-like bindings to go down and up (or `d`/`u` to go down/up a page).
  44. - `l` - open mail, or attachment page or attachment
  45. - `h` - the opposite of `l`
  46. - `r`/`R` - reply/reply all to highlighted mail
  47. - `s` - save selected mail or selected attachment
  48. - `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.
  49. - `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".
  50. - `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.
  51. - `a` to add address/person to abook and `Tab` while typing address to complete one from book.
  52. - `?` - see all keyboard shortcuts
  53. - `ctrl-j`/`ctrl-k` - move up and down in sidebar, `ctrl-o` opens mailbox
  54. ## New stuff and improvements since the original release
  55. - `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.
  56. - `dialog` is no long used (le bloat) and the interface is simply text.
  57. - More autogenerated shortcuts that allow quickly moving and copying mail between boxes.
  58. - More elegant attachment handling. Image/video/pdf attachments without relying on the neomutt instance.
  59. - abook integration by default.
  60. - The messy template files have been removed and are now a part of the script itself.
  61. - msmtp configs moved to `~/.config/` and mail default location moved to `~/.local/share/mail/`, reducing mess in `~`.
  62. - `accounts/` hold account data and `bin/` holds script run by or for mutt. All other directories have been disintegrated.
  63. - `pass` is used as a password manager instead of separately saving passwords.
  64. - Script is POSIX sh compliant.
  65. - Error handling for the many people who don't read or follow directions.
  66. ## Watch our for these things:
  67. - For Gmail accounts, remember also to enable third-party ("""less secure""") applications before attempting installation.
  68. - Protonmail accounts will require you to set up "Protonmail Bridge" to access PM's IMAP and SMTP servers. Configure that before running mutt-wizard.
  69. - 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.
  70. - If you use an email server whose mailboxes are not in English, mutt-wizard might not be able to guess which is which, so you may have to manually set your Inbox, Sent, Trash, Drafts, etc. in your mutt config file. Do this after running the wizard in `accounts/NAME.muttrc`.
  71. ## Help the Project!
  72. - Try mutt-wizard out on weird machines and weird email addresses and report any errors.
  73. - Open a PR to add new server information into `domains.csv` so their users can more easily use mutt-wizard.
  74. - If nothing else, [Donate!](https://paypal.me/LukeMSmith)
  75. See Luke's website [here](https://lukesmith.xyz). Email him at [luke@lukesmith.xyz](mailto:luke@lukesmith.xyz).
  76. mutt-wizard is free/libre software, licensed under the GPLv3.
  77. ## Details for Tinkerers
  78. - The `muttrc` file is for universal settings.
  79. - `personal.muttrc`, called by the `muttrc`, is the place where user-specific settings are set, and the wizard automatically adds the macros for switching between accounts here. If you want to contribute to mutt-wizard, you should put your universal personal settings here and have git ignore it. For example, I put my gpg settings here and personal aliases here.
  80. - Accounts are generated in `accounts/`. If I create an account named `luke`, for example, `accounts/luke.muttrc` will hold that account's unique settings and `accounts/luke/` will hold headers and cache files.