Mutt

From the Linux and Unix Users Group at Virginia Teck Wiki
Jump to: navigation, search

"All mail clients suck. This one just sucks less."[1]

Mutt is a text-based email client for Unix-like systems. It was originally written by Michael Elkins in 1995 and released under the GPL version 2 or any later version.[2]

Mutt was originally designed as a Mail User Agent (MUA) and relied on locally accessible mailbox and sendmail infrastructure. According to the Mutt homepage "though written from scratch, Mutt's initial interface was based largely on the ELM mail client". New to Mutt were message scoring and threading capabilities. Support for fetching and sending email via various protocols such as POP3, IMAP and SMTP was added later. Mutt relies on external tools for composing and filtering messages.

Mutt VT/Google Mail Setup

VT email lives in Google GSuite (i.e. gmail). Because GSuite is deprecating "less secure devices/app-passwords", you will need to use IMAP and SMTP with the XOAUTH2 authentication method.

Most mutt users use isync/mbsync or offlineimap as imap reader tools. mbsync is better; offlineimap has longstanding bugs with conflicting message IDs that can cause messages to be deleted, and it is much easier to configure mbsync with multiple imap accounts, however mbsync's auth plugin support is fragile, while offlineimap has built-in XOAUTH2 support.

Mutt has some internal OAUTH support that can be used. Alternately, use an external tool like send.py as your sendmail drop-in.

The caveat of setting up OAUTH2 is that Google has disabled trial credential creation in billed accounts (i.e. GSuite), so you *cannot* use your VT account to create them. Further, to reduce abuse, Google must approve all public apps; a warning pops up if it is not approved, which can only be bypassed if you are the owner of the application. In short, you must create OAUTH credentials with a non-GSuite google account, add your @vt.edu account to the project, and then use it to log in.

LUUGmail

Acidburn currently has functional postfix/dovecot. This is how to use it with mutt.

IMAP/SMTP for acidburn

This is a sample configuration for imap/smtp in mutt for acidburn, provided by echarlie

set realname = 'Wadsworth Luugbot'  #your display name here
set imap_user=wadsworth             #this should be your LDAP account name
set imap_pass=$my_luug_pass         #Whatever your LUUG password is. Here we used a personal variable.
set ssl_force_tls=yes
set ssl_starttls=yes

set folder = "imap://$imap_user@acidburn.vtluug.org:143/"
set spoolfile = +INBOX
set postponed = +Drafts
set record = +sent
set imap_check_subscribed

set pgp_sign_as = "wadsworth@vtluug.org"  # If you like pgp-signing things

set from = "wadsworth@vtluug.org"    #### THIS IS IMPORTANT ####
set use_from = yes
set smtp_url=smtp://$imap_user:$imap_pass@acidburn.vtluug.org:587

# this is for if you use multiple accounts. The ssl settings are necessary since we don't have a
# certified tls key right now
account-hook $folder "set imap_user=$imap_user imap_pass=$imap_pass ssl_verify_dates=no ssl_verify_host=no"

This section assumes you are using mutt with multiple accounts. For that, we reccomend putting the following into .muttrc/vtluug or something similar, and having this in your .mutt/muttrc :

source "~/.mutt/vtluug"
folder-hook $folder 'source ~/.mutt/vtluug'

Local Mail on acidburn

This is how one would read and send local mail on acidburn. This is a fully functional .muttrc, however we would suggest setting your mutt editor, setting your encoding preference (UTF-8), and changing keybindings to preference.


set mbox_type=Maildir           #acidburn uses maildirs
set folder=$HOME/Maildir
set spoolfile=+/
set header_cache=~/.cache/mutt  #optional; header caching speeds things up

set my_user=wadsworth

set realname = "Wadsworth Luugbot"
set from = wadsworth@vtluug.org
set use_from = yes

# This is needed if you want to send from another ldapified server
#set smtp_url=smtps://$my_user:$my_pass@acidburn.vtluug.org:587
#set ssl_force_tls = yes

References