mh-e: Incorporating Mail

 
 5 Incorporating Your Mail
 *************************
 
 This chapter talks about getting mail from your system mailbox into your
 MH ‘+inbox’ folder.  The following command accomplishes that and is
 found in the ‘Folder’ menu.
 
 ‘i’
      Incorporate new mail into a folder (‘mh-inc-folder’).
 
    The following options in the ‘mh-inc’ customization group are used.
 
 ‘mh-inc-prog’
      Program to incorporate mail (default: ‘"inc"’).
 ‘mh-inc-spool-list’
      Alternate spool files (default: ‘nil’).
 
    The following hook is available.
 
 ‘mh-inc-folder-hook’
      Hook run by ‘mh-inc-folder’ after incorporating mail into a folder
      (default: ‘nil’).
 
    If at any time you receive new mail, incorporate the new mail into
 your ‘+inbox’ buffer with ‘i’ (‘mh-inc-folder’).  Note that ‘i’ will
 display the ‘+inbox’ buffer, even if there isn’t any new mail.  You can
 incorporate mail from any file into the current folder by specifying a
 prefix argument; you’ll be prompted for the name of the file to use as
 well as the destination folder (for example, ‘C-u i ~/mbox <RET> +tmp
 <RET>’).
 
    Emacs can notify you when you have new mail by displaying ‘Mail’ in
 the mode line.  To enable this behavior, and to have a clock in the mode
 line as well, add the following to ‘~/.emacs’:
 
      (display-time)
 
    The name of the program that incorporates new mail is stored in
 ‘mh-inc-prog’; it is ‘"inc"’ by default.  This program generates a
 one-line summary for each of the new messages.  Unless it is an absolute
 pathname, the file is assumed to be in the ‘mh-progs’ directory (See
 Getting Started).  You may also link a file to ‘inc’ that uses a
 different format (see ‘mh-profile’(5), and sections Reading Mail: inc
 show next prev (http://rand-mh.sourceforge.net/book/mh/reapre.html) and
 MH Format Strings (http://rand-mh.sourceforge.net/book/mh/mhstr.html) in
 the MH book).  You’ll then need to modify several variables
 appropriately (SeeScan Line Formats).
 
    You can use the ‘mh-inc-spool-list’ variable to direct MH-E to
 retrieve mail from arbitrary spool files other than your system mailbox,
 file it in folders other than your ‘+inbox’, and assign key bindings to
 incorporate this mail.
 
    Suppose you are subscribed to the mh-e-devel mailing list and you use
 ‘procmail’ to filter this mail into ‘~/mail/mh-e’ with the following
 recipe in ‘.procmailrc’:
 
      PATH=$PATH:/usr/bin/mh
      MAILDIR=$HOME/`mhparam Path`
      :0:
      * ^From mh-e-devel-admin@stop.mail-abuse.org
      mh-e
 
    In order to incorporate ‘~/mail/mh-e’ into ‘+mh-e’ with an ‘I m’
 (‘mh-inc-spool-mh-e’) command, customize this option, and click on the
 ‘INS’ button.  Enter a ‘Spool File’ of ‘~/mail/mh-e’, a ‘Folder’ of
 ‘mh-e’, and a ‘Key Binding’ of ‘m’.
 
    You can use ‘xbuffy’ to automate the incorporation of this mail using
 the Emacs 23 command ‘emacsclient’ as follows:
 
      box ~/mail/mh-e
          title mh-e
          origMode
          polltime 10
          headertime 0
          command emacsclient --eval '(mh-inc-spool-mh-e)'
 
    In XEmacs, the command ‘gnuclient’ is used in a similar fashion.
 
    You can set the hook ‘mh-inc-folder-hook’, which is called after new
 mail is incorporated by the ‘i’ (‘mh-inc-folder’) command.  A good use
 of this hook is to rescan the whole folder either after running ‘M-x
 mh-rmail’ the first time or when you’ve changed the message numbers from
 outside of MH-E.
 
      (defun my-mh-inc-folder-hook ()
        "Hook to rescan folder after incorporating mail."
        (if (buffer-modified-p)            ; if outstanding refiles and deletes,
            (mh-execute-commands))         ;   carry them out
        (mh-rescan-folder)                 ; synchronize with +inbox
        (mh-show))                         ; show the current message
 
      (add-hook 'mh-inc-folder-hook 'my-mh-inc-folder-hook)
 
      Rescan folder after incorporating new mail via mh-inc-folder-hook