mutt-wizard/README.md

54 lines
4.4 KiB
Markdown
Raw Normal View History

2018-02-12 02:24:21 +01:00
# Luke's mutt Wizard for automatic Neomutt and OfflineIMAP configuration!
2018-02-10 07:47:29 +01:00
2018-02-13 21:12:38 +01:00
![mutt wizard preview](etc/mw.png)
2018-02-10 07:47:29 +01:00
Mutt is one of the most rewarding programs one can use, but can be a pain in the ass to configure. Since my job is making power-user tools available for the masses I want to create a tool that automates most of mutt configuration so that users can simply give their email address and get a /comfy/ setup. At that, I don't just want a mutt wizard, but an offlineIMAP wizard, so users can easily access their mail offline as well, and a wizard that makes it easy to store passwords securely using gpg.
2018-02-12 02:24:21 +01:00
## User interface
2018-02-11 04:34:43 +01:00
2018-02-13 21:21:26 +01:00
The main script can take an email and autodetect its server settings, generating a muttrc and offlineimaprc profile automatically. I gives you options for add accounts to the system, detecting them, removing them and autodetecting mailboxes and generating shortcut keys in mutt. You get:
+ Automatic configuration of mutt and offlineimap
+ Automatic encryption and safe storage of passwords which are used my mutt and offlineimap when necessary
+ Multiple account management in mutt: jump from account to account with the `i` prefix in mutt: `i1`: first email account, `i5`: fifth, etc.
+ Easy movement to mail folders in mutt: `gi`: go to inbox, `gs` to sent mail, `ga` to archive, `gS` to spam, `gd` to drafts, etc.
+ Some sensible default controls and colors. This system is going to be integrated into my [public auto-rice script](https://larbs.xyz) so I want it to look pretty and be usable out the box.
2018-02-10 07:47:29 +01:00
2018-02-12 02:24:21 +01:00
### Will it work on my email? (95% yes)
2018-02-11 22:14:14 +01:00
2018-02-13 21:21:26 +01:00
Yes! At this point, the only problems are the unexpected ones. Please try it, and if you do run into problems, email me at [luke@lukesmith.xyz](mailto:luke@lukesmith.xyz)! I've tried the system personally on Gmail, Teknik.io, cock.li and Yandex, while others have tried other providers. If your domain is in the `domains.csv` configuration should be 100% automatic and error free, if it's not in the file, the prompt will simply ask you for server information which you can look up yourself; the script knows exactly where to put everything and will configure everything else!
2018-02-11 22:14:14 +01:00
2018-02-13 21:08:11 +01:00
The only email provider which I think will *not* work (and will never work) is Proton Mail, but that's only because they require encryption through their web client IIRC.
2018-02-12 02:24:21 +01:00
2018-02-14 23:19:15 +01:00
Note also that Gmail and some providers require you to enable sign-ins from third-party (or as they call it "less secure") applications to be able to load mail with mutt and offlineimap. Be sure to enable that!
2018-02-12 02:24:21 +01:00
## Installation and Dependencies
2018-02-13 21:00:48 +01:00
dialog, neomutt and offlineimap should be installed. The contents of this repo should go directly in `~/.config/mutt/` and run from there. You also need to have a GPG public/private key pair for the wizard to automatically store your passwords. Otherwise you'll have to store them insecurely in plaintext files without the help of the wizard.
2018-02-12 02:24:21 +01:00
2018-02-14 18:38:52 +01:00
Just run `mutt-wizard.sh` for all the options, to install an account:
2018-02-12 02:24:21 +01:00
2018-02-14 18:38:52 +01:00
* First, select the "Add an account" option and give the script your account information.
* Second, in a separate terminal, start your mail sync my running `offlineimap` or `offlineimap -a <your account name>`. This will start downloading all your mail for offline access.
* Third, once your mailbox has started to download, reenter the script and select the "Auto-detect mailboxes" open. This will finalize the install and let you open up mutt to see your mail.
2018-02-12 02:24:21 +01:00
2018-02-14 18:38:52 +01:00
Whenever you want to check for mail, just run the `offlineimap` command again.
2018-02-13 21:08:11 +01:00
2018-02-12 02:24:21 +01:00
### "Wait? The script asks for my passwords?"
2018-02-13 21:08:11 +01:00
Look at the code. The script takes the passwords you give it, encrypts them immediately with your own GPG key, and shreds the leftovers. Nothing malicious; it's all there! If it makes you comfortable you can even run the script offline at first.
2018-02-11 22:14:14 +01:00
## You can help!
2018-02-10 07:47:29 +01:00
If you use mutt with a particular host or domain, put your server information in `domains.csv`! This will make everyone else who uses your email provider's life much easier!
Or you can help monetarily via [Patreon](https://patreon.com/lukesmith) or [Paypal](https://paypal.me/LukeMSmith)!
2018-02-11 20:37:46 +01:00
## Notes
Mail is stored in `~/.mail`. mutt configs and caches for each account are in `~/.config/mutt/accounts/`. Encypted passwords are in `~/.config/mutt/credentials`. A "personal" muttrc, with the macros for switching accounts and the default config is in `~/.config/mutt/personal.muttrc`.
2018-02-10 07:47:29 +01:00
## Todo
2018-02-13 21:08:11 +01:00
* Expand the list of server information in `domains.csv`.