I have now successfully set up mutt as my email client, but have three issues remaining. They are listed below in order of increasing seriousness. 1) I have successfully set up macros for limiting the number of emails I see, but would like to be able to have a default limiting expression for when I first start mutt. 2) I have placed all my emails in one maildir structure but would like to back them up independently. I.e. 'cp'ing them only if the sender or receiver had a particular address. This would have to be scriptable. 3) I have set up several configuration files and made a maildir structure but feel uncomfortable leaving my emails settings, e.g. passwords, and messages in plain text files that anyone could read. I have nothing to hide but feel this is insecure. To clarify the programs I have installed to manage my mail are: mutt (obviously), getmail, procmail, and msmtp. I would very much appreciate any help possible, as the last issue especially is a BIG problem. For the benefit of those reading this I will attach a copy of my .muttrc rather than uploading it. Also for those wondering, explicitly setting my from address to an empty string did not work as expected, instead mutt very incorrectly guessed my address based on my login name and the name of the computer I was working at. However this did not matter as by not specifying a default account for msmtp I receive an error whenever trying to send an email without explicitly setting the from address. Finally a thank you in advance to anyone who can help :-).
# character set on messages that we send set send_charset="utf-8" # if there is no character set given on incoming messages, it is probably windows set assumed_charset="iso-8859-1"
# make sure Vim knows mutt is a mail client and that we compose an UTF-8 encoded message set editor="vim -c 'set syntax=mail ft=mail enc=utf-8'" # Tell mutt to use maildir format set mbox_type=Maildir # just scroll one line instead of full page set menu_scroll=yes # enable mailcap file set mailcap_path=~/.mutt/mailcap # we want to see some MIME types inline, see below this code listing for explanation auto_view text/html auto_view application/msword auto_view application/pdf # make default search pattern to search in To, Cc and Subject set simple_search="~f %s | ~C %s | ~s %s" # threading preferences, sort by threads set sort=threads set strict_threads=yes # show spam score (from SpamAssassin only) when reading a message spam "X-Spam-Score: ([0-9\\.]+).*" "SA: %1" set pager_format = " %C - %[%H:%M] %.20v, %s%* %?H? [%H] ?" # do not show all headers, just a few ignore * unignore From To Cc Bcc Date Subject # and in this order unhdr_order * hdr_order From: To: Cc: Bcc: Date: Subject: # brighten up stuff with colours, for more colouring examples see: # http://aperiodic.net/phil/configs/mutt/colors color normal white black color hdrdefault green default color quoted green default color quoted1 yellow default color quoted2 red default color signature cyan default color indicator brightyellow red color error brightred default color status brightwhite blue color tree brightmagenta black color tilde blue default color attachment brightyellow default color markers brightred default color message white black color search brightwhite magenta color bold brightyellow default # if you don't like the black progress bar at the bottom of the screen, # comment out the following line color progress white black # spell-checking set ispell="aspell -e -c" # personality settings set sendmail='/usr/bin/msmtp' set reverse_name set realname = "[CENSORED]" unset from set use_envelope_from alternates "^[CENSORED]$" alternates "^[CENSORED]$" alternates "^[CENSORED]$" alternates -group [CENSORED] "^[CENSORED]$" "^[CENSORED]$" # this file must exist, and contains your signature, comment it out if # you don't want a signature to be used ## set signature = ~/.signature # aliases (sort of address book) set alias_file=/data/mail/aliases set sort_alias=alias set reverse_alias=yes source $alias_file # account settings set folder="/data/mail" set spoolfile="+.Inbox" set mask="!^\\.[^.]" set record="+.Sent" set postponed="+.Drafts" # use headercache for IMAP (make sure this is a directory for performance!) set header_cache=/tmp/.mutt # mailboxes we want to monitor for new mail mailboxes ! `\ for file in /data/mail/.*; do \ box=$(basename "$file"); \ if [ ! "$box" = '.' -a ! "$box" = '..' -a ! "$box" = '.customflags' \ -a ! "$box" = '.subscriptions' ]; then \ echo -n "\"+$box\" "; \ fi; \ done` # mailboxes "=" # mailboxes "=Lists" # mailing lists we are on (these are regexps!) ## subscribe "gentoo-.*@gentoo\\.org" # Macros macro index,pager c "<change-folder>?<toggle-mailboxes>" "open a different folder" # macro pager c "<change-folder>?<toggle-mailboxes>" "open a different folder" macro index,pager C "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox" # macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox" macro compose A "<attach-message>?<toggle-mailboxes>" "attach message(s) to this message" # index limiting macros macro index <F1> "<limit>~L [CENSORED]<enter>" "view email0" macro index <F2> "<limit>~L [CENSORED]<enter>" "view email1" macro index <F3> "<limit>~L [CENSORED]<enter>" "view email2" macro index <F4> "<limit>%L [CENSORED]<enter>" "view email group" macro index <F5> "<limit>~A<enter>" "view all emails" # from address setting macros macro compose <F1> "<edit-from><kill-line>[CENSORED] <[CENSORED]><enter>" macro compose <F2> "<edit-from><kill-line>[CENSORED] <[CENSORED]><enter>" macro compose <F3> "<edit-from><kill-line>[CENSORED] <[CENSORED]><enter>" macro compose <F4> "<edit-from><kill-line>[CENSORED] <[CENSORED]><enter>"