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 11 KiB

6 years ago
5 years ago
5 years ago
5 years ago
6 years ago
3 years ago
5 years ago
5 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
5 years ago
5 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
5 years ago
3 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. # mutt-wizard
  2. https://muttwizard.com/
  3. Get this great stuff without effort:
  4. - A full-featured and autoconfigured email client on the terminal with neomutt
  5. - Mail stored offline enabling the ability to:
  6. * view and write emails while you're away from
  7. the internet
  8. * make backups
  9. - Provides a `mailsync` script that can be scheduled to run as often as you
  10. like, which downloads/syncs mail and notifies you when new mail has arrived.
  11. Specifically, this wizard:
  12. - Determines your email server's IMAP and SMTP servers and ports
  13. - Creates dotfiles for `neomutt`, `isync`, and `msmtp` appropriate for your
  14. email address
  15. - Encrypts and locally stores your password for easy remote access, accessible
  16. only by your GPG key
  17. - Handles as many as nine separate email accounts automatically
  18. - Auto-creates bindings to switch between accounts or between mailboxes
  19. - Provides sensible defaults and an attractive appearance for the neomutt email
  20. client
  21. - If mutt-wizard doesn't know your server's IMAP/SMTP info by default, it will
  22. prompt you for them and will put them in all the right places.
  23. ## Install
  24. #### Dependencies
  25. - `neomutt` - the email client (If you are using Gentoo GNU/Linux, you will need the `sasl` use flag to be enabled).
  26. - `curl` - tests connections (required at install).
  27. - `isync` - downloads and syncs the mail (required if storing IMAP mail locally).
  28. - `msmtp` - sends the email.
  29. - `pass` - safely encrypts passwords (required at install).
  30. - `xdg-utils` - desktop integration utilities.
  31. **Note**: There's a chance of errors if you use a slow-release distro like
  32. Ubuntu, Debian, or Mint. If you get errors in `neomutt`, install the most
  33. recent version manually or manually remove the offending lines in the config in
  34. `/usr/share/mutt-wizard/mutt-wizard.muttrc`.
  35. ```bash
  36. git clone https://github.com/brauliohms/mutt-wizard
  37. cd mutt-wizard
  38. sudo make install
  39. ```
  40. A user of Arch-based distros can also install the current mutt-wizard release from the AUR as
  41. [mutt-wizard](https://aur.archlinux.org/packages/mutt-wizard/), or the Github master branch, [mutt-wizard-git](https://aur.archlinux.org/packages/mutt-wizard-git/).
  42. ### Optional Dependencies
  43. - `pam-gnupg` - Automatically logs you into your GPG key on login so you will
  44. never need to input your password once logged on to your system. Check the
  45. repo and directions out [here](https://github.com/cruegge/pam-gnupg).
  46. - `lynx` or `w3m` or `links2` - view HTML email in neomutt.
  47. - `notmuch` - index and search mail. Install it and run `notmuch setup`, tell
  48. it that your mail is in `~/.local/share/mail/` (although `mutt-wizard` will do this
  49. automatically if you haven't set notmuch up before). You can run it in mutt
  50. with <kbd>ctrl-f</kbd>. Run `notmuch new` to process new mail.
  51. - `abook` - a terminal-based address book. Pressing tab while typing an address
  52. to send mail to will suggest contacts that are in your abook.
  53. - `urlview` - outputs urls in mail to browser.
  54. - `crontab` - (or any other major cronjob manager) to set up automatic mail
  55. syncing.
  56. - `mpop` - If you want to use POP protocol instead of IMAP.
  57. - `aspell` - GNU Aspell spell-checker.
  58. - `dunst` - dmenu style notification.
  59. - `feh` - Image viewer.
  60. - `mpv` - Media file viewer (audio and videos).
  61. - `zathura` - Pdf viewer.
  62. - `font-awesome` - Iconic font and CSS toolkit.
  63. ## Usage
  64. The mutt-wizard runs via the command `mutt-wizard`. Once setup is complete, you'll use
  65. `neomutt` to access your mail.
  66. - `mutt-wizard -a you@email.com` -- add a new email account
  67. - `mutt-wizard -l` -- list existing accounts
  68. - `mutt-wizard -y your@email.com` -- sync an email account
  69. - `mutt-wizard -Y` -- sync all configured email accounts
  70. - `mutt-wizard -d` -- choose an account to delete
  71. - `mutt-wizard -D your@email.com` -- delete account settings without confirmation
  72. - `mutt-wizard -t 30` -- toggle automatic mailsync to every 30 minutes
  73. - `mutt-wizard -T` -- toggle mailsync without specifying minutes (default is 10)
  74. - `mutt-wizard -r` -- reorder account shortcut numbers
  75. - `pass edit mutt-wizard-your@email.com` -- revise an account's password
  76. ### Options usable when adding an account
  77. #### Providing arguments
  78. - `-u` -- Give an account username if different from the email address.
  79. - `-n` -- A real name to be used by the account. Put in quotations if multiple
  80. words.
  81. - `-i` -- IMAP server address
  82. - `-I` -- IMAP server port (otherwise assumed to be 993)
  83. - `-s` -- SMTP server address
  84. - `-S` -- SMTP server port (otherwise assumed to be 465)
  85. - `-m` -- Maximum number of emails to be kept offline. No maximum is default
  86. functionality.
  87. - `-x` -- Account password. You will be prompted for it otherwise.
  88. #### General Settings
  89. - `-f` -- Assume mailbox names and force account configuration without
  90. connecting online at all.
  91. - `-o` -- Configure mutt for an account, but do not keep mail offline.
  92. - `-p` -- Use POP protocol instead of IMAP (requires `mpop` installed).
  93. ## Neomutt user interface
  94. To give you an example of the interface, here's an idea:
  95. - <kbd>m</kbd> - send mail (uses your default `$EDITOR` to write)
  96. - <kbd>j</kbd>/<kbd>k</kbd> and <kbd>d</kbd>/<kbd>u</kbd> - vim-like bindings to go down and up (or <kbd>d</kbd>/<kbd>u</kbd> to go
  97. down/up a page).
  98. - <kbd>l</kbd> - open mail, or attachment page or attachment
  99. - <kbd>h</kbd> - the opposite of <kbd>l</kbd>
  100. - <kbd>r</kbd>/<kbd>R</kbd> - reply/reply all to highlighted mail
  101. - <kbd>s</kbd> - save selected mail or selected attachment
  102. - <kbd>gs</kbd>,<kbd>gi</kbd>,<kbd>ga</kbd>,<kbd>gd</kbd>,<kbd>gS</kbd> - Press <kbd>g</kbd> followed by another letter to change
  103. mailbox: <kbd>s</kbd>ent, <kbd>i</kbd>nbox, <kbd>a</kbd>rchive, <kbd>d</kbd>rafts, <kbd>S</kbd>pam, etc.
  104. - <kbd>M</kbd> and <kbd>C</kbd> - For <kbd>M</kbd>ove and <kbd>C</kbd>opy: follow them with one of the mailbox
  105. letters above, i.e. <kbd>MS</kbd> means "move to Spam".
  106. - <kbd>i#</kbd> - Press <kbd>i</kbd> followed by a number 1-9 to go to a different account. If you
  107. add 9 accounts via mutt-wizard, they will each be assigned a number.
  108. - <kbd>a</kbd> to add address/person to abook and <kbd>Tab</kbd> while typing address to complete
  109. one from abook.
  110. - <kbd>?</kbd> - see all keyboard shortcuts
  111. - <kbd>ctrl-j</kbd>/<kbd>ctrl-k</kbd> - move up and down in sidebar, <kbd>ctrl-o</kbd> opens mailbox.
  112. - <kbd>ctrl-b</kbd> - open a menu to select a URL you want to open in your browser.
  113. - <kbd>p</kbd> - encrypt/sign your message (in compose view, before sending the email).
  114. ## Additional functionality
  115. - `pam-gnupg` - Automatically logs you into your GPG key on login, so you will
  116. never need to input your password once logged on to your system. Check the
  117. repo and directions out [here](https://github.com/cruegge/pam-gnupg).
  118. - `lynx` or `w3m` or `links2` - view HTML email in neomutt.
  119. - `notmuch` - Index and search mail. Install it and run `notmuch setup`, tell it
  120. that your mail is in `~/.local/share/mail/` (although `mutt-wizard` will do this
  121. automatically if you haven't set notmuch up before). You can run it in mutt
  122. with <kbd>ctrl-f</kbd>. Run `notmuch new` to process new mail.
  123. - `abook` - A terminal-based address book. Pressing tab while typing an address
  124. to send mail to will suggest contacts that are in your abook.
  125. - `urlview` - Outputs URLs in an email to your browser.
  126. ## New stuff and improvements since the original release
  127. - `mutt-wizard` is now an installed program instead of just a script needed to be kept in
  128. your mutt folder. Is now scriptable with command-line options and can run successfully
  129. without any interaction, making it possible to deploy in a script.
  130. - `isync`/`mbsync` has replaced `offlineimap` as the backend. Offlineimap was
  131. error-prone, bloated, used obsolete Python 2 modules, and required separate
  132. steps to install the system.
  133. - `dialog` is no longer used and the interface is simply text commands.
  134. - More autogenerated shortcuts that allow quickly moving and copying mail
  135. between boxes.
  136. - More elegant attachment handling. Image/video/pdf attachments without relying
  137. on the neomutt instance.
  138. - abook integration by default.
  139. - The messy template files and other directories have been moved or removed,
  140. leaving a clean config folder.
  141. - msmtp configs moved to `~/.config/` and mail default location moved to
  142. `~/.local/share/mail/`, reducing mess in `~`.
  143. - `pass` is used as a password manager instead of separately saving passwords.
  144. - Script is POSIX sh compliant.
  145. - Error handling for the many people who don't read or follow directions. Fewer
  146. errors generally.
  147. - Addition of a manual `man mutt-wizard`
  148. - Now handles POP protocol via `mpop` for those who prefer it (add an account
  149. with the `-p` option). POP configs are still generated automatically.
  150. ## Help the Project!
  151. - Try mutt-wizard out on weird machines and weird email addresses and report any
  152. errors.
  153. - Open a PR to add new server information into `domains.csv` so their users can
  154. more easily use mutt-wizard.
  155. - If nothing else, donate:
  156. - XMR: `8AzeWXhJvYJ1VeENHcNXCR1dLMgDALreZ1BdooZVjRKndv6myr3t1ue6C4ML2an5fWSpcP1sTDA9nKUMevkukDXG6chRjNv`
  157. - BTC: `bc1qacqfp36ffv9mafechmvk8f6r8qy4tual6rcm9p`
  158. ## Details for Tinkerers
  159. - The critical `mutt`/`neomutt` files are in `~/.config/mutt/`.
  160. - Put whatever global settings you want in `muttrc`. mutt-wizard will add some
  161. lines to this file, which you shouldn't remove unless you know what you're
  162. doing, but you can move them up/down over your config lines if you need to. If
  163. you get binding conflict errors in mutt, you might need to do this.
  164. - Each of the accounts that mutt-wizard generates will have custom settings set
  165. in a separate file in `accounts/`. You can edit these freely if you want to
  166. tinker with settings specific to an account.
  167. - In `/usr/share/mutt-wizard` are several global config files, including
  168. `mutt-wizard`'s default settings. You can override this in your `muttrc` if
  169. you wish.
  170. ## Watch out for these things
  171. - Gmail accounts need to create an
  172. [App Password](https://support.google.com/accounts/answer/185833?hl=en) to
  173. use with "less secure" applications. This password is single-use (i.e.
  174. for setup) and will be stored and encrypted locally. Enabling third-party
  175. applications requires turning off two-factor authentication and this will
  176. circumvent that. You might also need to manually "Enable IMAP" in the
  177. settings.
  178. - If you have a university email or enterprise-hosted email for work, there
  179. might be other hurdles or two-factor authentication you have to jump through.
  180. Some, for example, will want you to create a separate IMAP password, etc.
  181. - `isync` is not fully UTF-8 compatible, so non-Latin characters may be garbled
  182. (although sync should succeed). `mutt-wizard` will also not auto-create mailbox
  183. shortcuts since it is looking for English mailbox names. I strongly recommend
  184. you to set your email language to English on your mail server to avoid these
  185. problems.
  186. ## License
  187. mutt-wizard is free/libre software. This program is released under the GPLv3
  188. license, which you can find in the file [LICENSE](LICENSE).