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

5 vuotta sitten
6 vuotta sitten
6 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
6 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
4 vuotta sitten
5 vuotta sitten
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  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 you're away from
  5. internet and keep backups
  6. - Provides a `mailsync` script that can be scheduled to run as often as you
  7. like, which downloads/syncs mail and notifies you when new mail has arrived.
  8. Specifically, this wizard:
  9. - Determines your email server's IMAP and SMTP servers and ports
  10. - Creates dotfiles for `neomutt`, `isync`, and `msmtp` appropriate for your
  11. email address
  12. - Encrypts and locally stores your password for easy remote access, accessible
  13. only by your GPG key
  14. - Handles as many as nine separate email accounts automatically
  15. - Auto-creates bindings to switch between accounts or between mailboxes
  16. - Provides sensible defaults and an attractive appearance for the neomutt email
  17. client
  18. - If mutt-wizard doesn't know your server's IMAP/SMTP info by default, it will
  19. prompt you for them and will put them in all the right places.
  20. ## Install and Use
  21. ```
  22. git clone https://github.com/LukeSmithxyz/mutt-wizard
  23. cd mutt-wizard
  24. sudo make install
  25. ```
  26. 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/).
  27. The mutt-wizard is run with the command `mw`. Once everything is setup, you'll use `neomutt` to access your mail.
  28. - `mw -a you@email.com` -- add a new email account
  29. - `mw -l` -- list existing accounts
  30. - `mw -y your@email.com` -- sync an email account
  31. - `mw -Y` -- sync all configured email accounts
  32. - `mw -d` -- choose an account to delete
  33. - `mw -D your@email.com` -- delete account settings without confirmation
  34. - `mw -t 30` -- toggle automatic mailsync to every 30 minutes
  35. - `mw -T` -- toggle mailsync without specifying minutes (default is 10)
  36. - `pass edit mw-your@email.com` -- revise an account's password
  37. ### Options usable when adding an account
  38. #### Providing arguments
  39. - `-u` -- Give an account username if different from the email address.
  40. - `-n` -- A real name to be used by the account. Put in quotations if multiple words
  41. - `-i` -- IMAP server address
  42. - `-I` -- IMAP server port (otherwise assumed to be 993)
  43. - `-s` -- SMTP server address
  44. - `-S` -- SMTP server port (otherwise assumed to be 587)
  45. - `-m` -- Maximum number of emails to be kept offline. No maximum is default functionality.
  46. - `-x` -- Account password. You will be prompted for it otherwise.
  47. #### General Settings
  48. - `-p` -- Add a Protonmail account
  49. - `-f` -- Assume mailbox names and force account configuration without connecting online at all.
  50. - `-o` -- Configure mutt for an account, but do not keep mail offline.
  51. ## Dependencies
  52. - `neomutt` - the email client.
  53. - `isync` - downloads and syncs the mail. (required at install)
  54. - `msmtp` - sends the email.
  55. - `pass` - safely encrypts passwords (required at install)
  56. 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`.
  57. ### Optional
  58. - `pam-gnupg` - 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).
  59. - `lynx` - view HTML email in neomutt.
  60. - `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.
  61. - `abook` - a terminal-based address book. Pressing tab while typing an address to send mail to will suggest contacts that are in your abook.
  62. - `urlview` - outputs urls in mail to browser.
  63. - `cronie` - (or any other major cronjob manager) to set up automatic mail syncing.
  64. ## Neomutt user interface
  65. To give you an example of the interface, here's an idea:
  66. - `m` - send mail (uses your default `$EDITOR` to write)
  67. - `j`/`k` and `d`/`u` - vim-like bindings to go down and up (or `d`/`u` to go down/up a page).
  68. - `l` - open mail, or attachment page or attachment
  69. - `h` - the opposite of `l`
  70. - `r`/`R` - reply/reply all to highlighted mail
  71. - `s` - save selected mail or selected attachment
  72. - `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.
  73. - `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".
  74. - `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.
  75. - `a` to add address/person to abook and `Tab` while typing address to complete one from book.
  76. - `?` - see all keyboard shortcuts
  77. - `ctrl-j`/`ctrl-k` - move up and down in sidebar, `ctrl-o` opens mailbox.
  78. - `ctrl-b` - open a menu to select a url you want to open in you browser.
  79. -
  80. ## New stuff and improvements since the original release
  81. - `mw` is now scriptable with command-line options and can run successfully
  82. without any interaction, making it possible to deploy in a script.
  83. - `isync`/`mbsync` has replaced `offlineimap` as the backend. Offlineimap was
  84. error-prone, bloated, used obsolete Python 2 modules and required separate
  85. steps to install the system.
  86. - `mw` is now an installed program instead of just a script needed to be kept
  87. in your mutt folder.
  88. - `dialog` is no longer used (le bloat) and the interface is simply text
  89. commands.
  90. - More autogenerated shortcuts that allow quickly moving and copying mail
  91. between boxes.
  92. - More elegant attachment handling. Image/video/pdf attachments without relying
  93. on the neomutt instance.
  94. - abook integration by default.
  95. - The messy template files and other directories have been moved or removed,
  96. leaving a clean config folder.
  97. - msmtp configs moved to `~/.config/` and mail default location moved to
  98. `~/.local/share/mail/`, reducing mess in `~`.
  99. - `pass` is used as a password manager instead of separately saving passwords.
  100. - Script is POSIX sh compliant.
  101. - Error handling for the many people who don't read or follow directions. Less
  102. errors generally.
  103. - Addition of a manual `man mw`
  104. ## Help the Project!
  105. - Try mutt-wizard out on weird machines and weird email addresses and report
  106. any errors.
  107. - Open a PR to add new server information into `domains.csv` so their users can
  108. more easily use mutt-wizard.
  109. - If nothing else, [Donate!](https://paypal.me/LukeMSmith)
  110. See Luke's website [here](https://lukesmith.xyz). Email him at
  111. [luke@lukesmith.xyz](mailto:luke@lukesmith.xyz).
  112. mutt-wizard is free/libre software, licensed under the GPLv3.
  113. ## Details for Tinkerers
  114. - The critical `mutt`/`neomutt` files are in `~/.config/mutt/`.
  115. - Put whatever global settings you want in `muttrc`. mutt-wizard will add some
  116. lines to this file which you shouldn't remove unless you know what you're
  117. doing, but you can move them up/down over your personal config lines if you
  118. need to. If you get binding conflict errors in mutt, you might need to do
  119. this.
  120. - Each of the accounts that mutt-wizard generates will have custom settings set
  121. in a separate file in `accounts/`. You can edit these freely if you want to
  122. tinker with settings specific to an account.
  123. - In `/usr/share/mutt-wizard` are several global config files, including
  124. `mutt-wizard`'s default settings. You can overwride this in your `muttrc` if
  125. you wish.
  126. ## Watch out for these things:
  127. ### Gmail
  128. Gmail accounts should require an
  129. [application password](https://support.google.com/accounts/answer/185833) to
  130. work unless you allow Gmail to access "less secure" applications. You may also
  131. need to "Enable IMAP" in your Gmail settings.
  132. ### Protonmail
  133. Protonmail accounts will require you to set up "Protonmail Bridge" to access
  134. PM's IMAP and SMTP servers. Configure that before running mutt-wizard. Note
  135. that when mutt-wizard asks for a password, you should put in your
  136. [bridge password](https://protonmail.com/bridge/thunderbird#3), not your
  137. account password.
  138. Protonmail bridge is prone to timing out. Watch out for this while adding an
  139. account. If the bridge times out, try again. It might help to
  140. [increase the timeout](https://protonmail.com/support/knowledge-base/thunderbird-connection-server-timed-error/)
  141. in your `mbsyncrc`.
  142. ### Other
  143. - If you have a university email, or enterprise-hosted email for work, there
  144. might be other hurdles or two-factor authentication you have to jump through.
  145. Some, for example, will want you to create a separate IMAP password, etc.
  146. - `isync` is not fully UTF-8 compatible, so non-Latin characters may be
  147. garbled (although sync should succeed). `mw` will also not autocreate
  148. mailbox shortcuts since it is looking for English mailbox names. I strongly
  149. recommend you to set your email language to English on your mail server to
  150. avoid these problems.
  151. ## To-do
  152. - Add ~~Mac OS~~/~~BSD~~ compatibility (the script is confirmed to work for Mac OS and FreeBSD now)
  153. - ~~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)