[1932] in athena10

home help back first fref pref prev next nref lref last post

Re: mutt config

daemon@ATHENA.MIT.EDU (Greg Price)
Sat Mar 28 23:04:53 2009

Date: Sat, 28 Mar 2009 23:01:51 -0400
From: Greg Price <price@MIT.EDU>
To: debathena@mit.edu
Message-ID: <20090329030151.GA21933@vinegar-pot.mit.edu>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20090324063948.GD15690@mit.edu>

With r23649 through r23652 I've implemented a version of this.  It's
installed on mega-man and works.

The non-comment non-whitespace lines of /etc/Muttrc.d/debathena.rc are
"""
set folder=`/usr/lib/debathena-mutt-config/debathena-mutt-folder`
set spoolfile=+INBOX
set record=+INBOX.sent-mail
set postponed=+INBOX.postponed-msgs
set sendmail="/usr/lib/debathena-msmtp -t"
set move=no
set imap_headers="X-Spam-Score"
spam "X-Spam-Score:.(.*)" "%1"
set use_domain=no
"""
where I think the only one not yet discussed is $sendmail, which
matches debathena-alpine-config in using debathena-msmtp-config to
guarantee the MIT outgoing-mail system is used.

There's a few known todo items.

- deal with Etch's and Dapper's lack of /etc/Muttrc.d/
  This will mean doing TRANSFORM_FILES instead when this directory is
  absent.  The transform script will just append debathena.rc to
  /etc/Muttrc.

- possibly set up LDAP
  Evan suggested letting -extra-software-nox pull in lbdb for
  mutt_ldap_query.pl.  Then I'll include the "set query_command" line
  if it does no harm when the script is absent, and otherwise include
  it as a comment.

- possibly enable header caching, per Shreevatsa's suggestion
  elsewhere on the thread

- possibly set imap_check_subscribed, but probably pursue upstream /
  in Debian instead if someone cares

- possibly set up auto_view
  In my .muttrc I have
   auto_view text/html application/msword application/vnd.ms-word application/pdf
  This makes a lot of email much handier to read, like in other common
  mail clients.  I have also a ~/.mailcap that identifies lynx --dump,
  antiword, and pdftotext respectively to turn files of these types
  into text; Debian manages already an /etc/mailcap so that this may
  be superfluous.  We ought to pull each of these programs in in
  -extra-software-nox.  Possibly we want to set up mutt to use them.

Greg




On Tue, Mar 24, 2009 at 02:39:49AM -0400, Greg Price wrote:
> I've taken a look at the Muttrc provided in the sipb locker and
> compared it to the system Muttrc.
> 
> The file stripped of comments and blank lines, as broder pasted into
> Trac, is 21 lines.  Fortunately most of that is already in the system
> Muttrc.  The parts we would add if we followed the sipb locker are
> 
> """
> set folder="imap://$USER@`hesinfo $USER pobox | awk '{print $2}'`"
> set imap_headers="X-Spam-Score"
> set query_command = "athrun sipb mutt_ldap_query.pl %s"
> set record=""
> set sort=threads
> set spoolfile="imap://$USER@`hesinfo $USER pobox | awk '{print $2}'`"
> set use_domain=no
> spam "X-Spam-Score:.(.*)" "%1"
> """
> 
> All commands and variables are documented on the web [1].  I've also
> pasted the comments from the config file, including default values, at
> the bottom of this message.
> [1] http://www.mutt.org/doc/devel/manual.html
> 
> These lines can be sorted like so:
> 
> ================================
> 
> Using MIT IMAP
> --------------
> set folder="imap://$USER@`hesinfo $USER pobox | awk '{print $2}'`"
> set spoolfile="imap://$USER@`hesinfo $USER pobox | awk '{print $2}'`"
> set record=""
> 
> $folder is the root of the user's mail tree.  $spoolfile is the inbox;
> I'd set it to just "+INBOX", where "+" is a Mutt abbreviation for the
> value of $folder.
>   Recommendation: definite keep.
> 
> This setting of $record is dangerous -- it means that mail you send is
> forgotten, with no local copy.  This bit me for my first few days at
> MIT, using sipb-locker mutt.  The upstream default is "~/sent", which
> at least means the mail is saved, though not in an optimal place.
> I set it to +INBOX.sent-mail, which is my own idiosyncratic choice.
>   Recommendation: leave default, unless there's a justifiable "MIT
>     mail" convention; does webmail pick a sent-mail folder?
> 
> 
> Using MIT spam filtering
> ------------------------
> set imap_headers="X-Spam-Score"
> spam "X-Spam-Score:.(.*)" "%1"
> 
> See http://www.mutt.org/doc/devel/manual.html#spam for explanation.
> The second line means that each message will have a "spam tag"
> consisting of its X-Spam-Score value.  Then people who choose to do so
> can put the spam tag in their index view, or filter on it, or sort by it.
> For Mutt itself the spam tag is a totally opaque string.
> 
> The first line tells mutt to fetch "X-Spam-Score" when it fetches all
> the messages' headers for the index, so the second line can work.
> 
> Probably few people will use this without knowing the documentation
> well and being quite able to configure it themselves, so the gain is
> not huge.  The extra header adds some cost to opening a mailbox.  Our
> intervening with a setting could be justified by the fact that
> X-Spam-Score is a site-local feature of MIT email accounts.
> 
>   Recommendation: maybe keep.
> 
> 
> Sending to sane email addresses
> -------------------------------
> set use_domain=no
> 
> This means that if I send mail to "jdreed" it goes to sendmail with
> "To: Jonathan D Reed <jdreed>" (*), so that the mail system can decide
> who that means.  If I've installed debathena-msmtp-mta or otherwise
> send the mail through MIT, that means jdreed@mit.edu.  If I've left
> this machine to deliver mail locally, it'll go to the local account by
> that name, as the default would have done.
> 
> (*) mutt checks the passwd database to get realnames.
> 
>   Recommendation: keep.
> 
> 
> Using MIT LDAP
> --------------
> set query_command = "athrun sipb mutt_ldap_query.pl %s"
> 
> See http://www.mutt.org/doc/devel/manual.html#query .
> 
> In its present form this can run something from the sipb locker, which
> we won't do.  The script it invokes is from upstream's contrib, with
> chiefly these configuration lines:
> 
>   my $ldap_server = "ldap.mit.edu";
>   my $search_base = "dc=mit,dc=edu";           
>   my $LDAPSEARCH="/usr/athena/bin/ldapsearch -Q";
> 
> In principle we could depend on lbdb, which packages this script in
> Debian, and the script naturally can be configured from the command
> line or with a config file.  But that seems like a lot of added
> complexity for fairly little gain -- this is a feature I've never used.
> 
> If someone sees a simpler way so that we're only supplying roughly the
> strings "ldap.mit.edu" and "dc=mit,dc=edu", and not extra software,
> on the other hand, then probably we should do that.
> 
>   Recommendation: probably drop.
> 
> 
> Personal preference
> -------------------
> set sort=threads
> 
> I set this value myself.  But Debathena shouldn't.
> 
>   Recommendation: drop
> 
> ================================
> 
> 
> 
> Comments welcome.  I'll commit a version of this later this week if
> the discussion has settled.  There is a .d mechanism, so it only means
> dropping a file in place.
> 
> Greg
> 
> 
> 
> 
> 
> ================ settings from sipb Muttrc, commented ================
> 
> 
> 
> 
> set folder="imap://$USER@`hesinfo $USER pobox | awk '{print $2}'`"
> #
> # Name: folder
> # Type: path
> # Default: "~/Mail"
> # 
> # 
> # Specifies the default location of your mailboxes.  A `+' or `=' at the
> # beginning of a pathname will be expanded to the value of this
> # variable.  Note that if you change this variable from the default
> # value you need to make sure that the assignment occurs before
> # you use `+' or `=' for any other variables since expansion takes place
> # during the `set' command.
> 
> set imap_headers="X-Spam-Score"
> #
> # Name: imap_headers
> # Type: string
> # Default: ""
> # 
> # 
> # Mutt requests these header fields in addition to the default headers
> # ("DATE FROM SUBJECT TO CC MESSAGE-ID REFERENCES CONTENT-TYPE
> # CONTENT-DESCRIPTION IN-REPLY-TO REPLY-TO LINES X-LABEL") from IMAP
> # servers before displaying the index menu. You may want to add more
> # headers for spam detection. Note: This is a space separated list.
> 
> set query_command = "athrun sipb mutt_ldap_query.pl %s"
> #
> # Name: query_command
> # Type: path
> # Default: ""
> # 
> # 
> # This specifies the command that mutt will use to make external address
> # queries.  The string should contain a %s, which will be substituted
> # with the query string the user types.  See ``query'' for more
> # information.
> 
> set record=""
> #
> # Name: record
> # Type: path
> # Default: "~/sent"
> # 
> # 
> # This specifies the file into which your outgoing messages should be
> # appended.  (This is meant as the primary method for saving a copy of
> # your messages, but another way to do this is using the ``my_hdr''
> # command to create a Bcc: field with your email address in it.)
> # 
> # The value of $record is overridden by the ``$force_name'' and
> # ``$save_name'' variables, and the ``fcc-hook'' command.
> 
> set sort=threads
> #
> # Name: sort
> # Type: sort order
> # Default: date
> # 
> # 
> # Specifies how to sort messages in the index menu.  Valid values
> # are:
> # 
> #    date or date-sent
> #    date-received
> #    from
> #    mailbox-order (unsorted)
> #    score
> #    size
> #    spam
> #    subject
> #    threads
> #    to
> # 
> # You may optionally use the reverse- prefix to specify reverse sorting
> # order (example: set sort=reverse-date-sent).
> 
> set spoolfile="imap://$USER@`hesinfo $USER pobox | awk '{print $2}'`"
> #
> # Name: spoolfile
> # Type: path
> # Default: ""
> # 
> # 
> # If your spool mailbox is in a non-default place where Mutt cannot find
> # it, you can specify its location with this variable.  Mutt will
> # automatically set this variable to the value of the environment
> # variable $MAIL if it is not set.
> 
> set use_domain=no
> #
> # Name: use_domain
> # Type: boolean
> # Default: yes
> # 
> # 
> # When set, Mutt will qualify all local addresses (ones without the
> # @host portion) with the value of ``$hostname''.  If unset, no
> # addresses will be qualified.

home help back first fref pref prev next nref lref last post