MW(1)

NAME
mw - mutt-wizard - autoconfigure email accounts for neomutt and isync

SYNOPSIS
mw [ OPTIONS ]

DESCRIPTION
mw takes a user email account and sets up a terminal-based email interface for it with neomutt. This can include offline email with isync/mbsync and configs for msmtp for sending mail, and also passwords automatically encrypted and stored with pass.

COMMANDS

-a your@email.com
    add an email address

-l  list all email accounts configured by mutt-wizard

-d  pick an already configured account and remove its configuration

-D your@email.com
    remove a configured account without confirmation

-y your@email.com
    download and upload mail for an email account

-Y  sync all email accounts

-t 15
    toggle a cronjob that syncs your mail every 15 minutes (or any other number under 60)

-T  toggle a cronjob without specifying minutes between sync

-r  reorder account shortcut numbers

OPTIONS FOR ADDING ACCOUNTS
These can be specified on the command line, otherwise, you will be prompted for what is necessary. mutt-wizard knows the IMAP/SMTP server information for most email providers, so specifying them is usually redundant.

-u billy
    Account logon/username if required and different from email address.

-n Billy
    Real name which will appear in emails. Should be put in quotes if multiple words.

-m number
    Set a maximum number of messages to be stored offline.

-i  IMAP/POP server address

-I  IMAP/POP server port (assumed to be 993 for IMAP and 995 for POP if not specified)

-s  SMTP server address

-S  SMTP server port (assumed to be 465 if not specified)

-x  Account password. You will be prompted for the password interactively if this option is not given.

OTHER OPTIONS

-f  Force account creation and guess mailboxes without attempting to connect to server. Otherwise if connection cannot be made, the configured account settings will not be persistent.

-o  Create settings for an account to be used online only without mail syncing abilities. Without -f connection will still be attempted in setup to discover mailboxes.

-p  Add a Protonmail account. Protonmail Bridge must be installed and set up.

-X  When removing an email profile with either -d or -D, also delete the local mail (will not delete the mail on the server).

-P  Use POP protocol instead of IMAP. Requires mpop to download mail after configuration. Server details can still be given with the -i and -I options as if it were a IMAP.

DETAILS

mw-mailsync
    mutt-wizard calls a script mw-mailsync to sync mail. This script additionally indexes new mail with notmuch and gives you a notification if new mail has arrived. If you want to bypass its additional features, you can always just run mbsync -a to sync your mail directly.

Mail location
    If the user chooses to keep offline email with isync, it will be kept in ~/.local/share/mail/. notmuch can be used to index and search this mail by giving this directory when first running notmuch setup. If you have not set up notmuch before, mutt-wizard will automatically set it up in the background the first time you add an account.

muttrc files
    mutt-wizard will create a muttrc file for each created account holding account-specific details. These will appear in ~/.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 ~/.config/mutt/muttrc file.

Mail deletion
    mutt-wizard's delete action will delete configuration files and not downloaded mail for safety (and time)'s sake. If you want to delete downloaded mail, do so manually by removing it from the directory above.

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 /usr/share/mutt-wizard/mutt-wizard.muttrc and the default mailcap file can be found in /usr/share/mutt-wizard/mailcap. Any of these settings can be overwritten in ~/.config/mutt/muttrc, but be mindful that your overriding binds should appear after the mutt-wizard.muttrc file is sourced.

Detecting server settings
    mutt-wizard has a repository of email services and their server information kept in /usr/share/mutt-wizard/domains.csv which is used to automatically configure email settings. If your email provider is not found there, it will prompt you to input your email service's IMAP and SMTP server information which can usually be found by searching online.

    If you would like to help develop mutt-wizard for others, you are invited to add this service information to domains.csv on mutt-wizard's Github <https://github.com/lukesmithxyz/mutt-wizard> or Gitlab <https://gitlab.com/lukesmithxyz/mutt-wizard> pages.

Gmail accounts
    Google will require you to allow "less-secure" (third party) applications or remove 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>.

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.

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.

Password decryption
    mutt-wizard uses pass and therefore 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.

    Because of this I strongly recommend the program 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.

    If you don't want to use this program, you can also increase the cache time of an inputted GPG password with the default-cache-ttl and max-cache-ttl variables in your gpg-agent.conf.

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.

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.

Movement with h/j/k/l
    Use vim keys to move down j or up k in mail, while l opens mail, then the attachment view, then an attachment, while h is the reverse. While mail is open, go to next or previous mail with J and K. In the mail index, d and u go down and up by a half page and gg and G go to the very top and very bottom.

Search mail
    If you have notmuch configured with your proper mail directory (see above), you may run ctrl-f to search for mail containing any given sequence. Even without notmuch, L limits mail, showing only those with the given sequence in the subject while A shows all mail (same as limiting to "all").

Deleting mail
    D deletes mail, while U undeletes it (type in mail number to get to deleted mail). Note that S saves your mailbox, finalizing deletion. If you have a Trash box, deleted mail is moved there. If you want it to skip that and simply be deleted, comment out or remove the set trash line in that account's muttrc.

Send mail
    m creates a new mail message; r replies to the selected message; R replies all to the selected message and f forwards the selected message.

Compose mail screen
    Once you write mail and save the buffer you will be brought to the compose screen. Press a to add attachments, use s/t/c/b/d to change the subject/to/CC/BCC/description. Press S to change the signature/encryption. Press y to send the mail.

Saving and autocompleting email addresses with abook
    Install the optional dependency abook and you will be able to save the sender's email address with a. Once this is done, when you are typing in any email/contact prompt, you may press Tab to find contacts matching your input. Although abook is often used with mutt, it is also a useful program in its own right.

Switching and moving mail between mailboxes
    The g key can be paired with several other keys to automatically move to another mailbox: gi: Inbox; gs: Sent; gd: Drafts; ga: Archive; gS: Spam; gj: Junk; gt: Trash. These bindings will only be present for accounts that have the boxes in question. Instead of g, you can also press C to copy mail or M to move mail to the same boxes.

Switching between accounts
    mutt-wizard can configure as many as nine accounts each numbered by the lowest available number when configured. Press i followed by an account's number to change to that account: i2, i5, etc. ctrl-b to open a menu to select a url you want to open in you browser.

Sidebar
    mutt-wizard enables the sidebar by default which displays your account's boxes with mail tallies. B will toggle the sidebar. Move up and down in it with ctrl-k/j. Open a box with ctrl-o.

More information
    Remember that you can press ? at any time in neomutt to get a list of all key-bindings and functions. This list can also vary for different context menus.

AUTHORS
Written by Luke Smith <luke@lukesmith.xyz> originally in 2018.

LICENSE
GPLv3

SEE ALSO
mw-mailsync(1), neomutt(1), neomuttrc(1) mbsync(1), mpop(1), msmtp(1), notmuch(1), abook(1)