gnus: Mail-like Back Ends

 
 11.7.2.6 Mail-like Back Ends
 ............................
 
 One of the things that separate the mail back ends from the rest of the
 back ends is the heavy dependence by most of the mail back ends on
 common functions in ‘nnmail.el’.  For instance, here’s the definition of
 ‘nnml-request-scan’:
 
      (deffoo nnml-request-scan (&optional group server)
        (setq nnml-article-file-alist nil)
        (nnmail-get-new-mail 'nnml 'nnml-save-nov nnml-directory group))
 
    It simply calls ‘nnmail-get-new-mail’ with a few parameters, and
 ‘nnmail’ takes care of all the moving and splitting of the mail.
 
    This function takes four parameters.
 
 METHOD
      This should be a symbol to designate which back end is responsible
      for the call.
 
 EXIT-FUNCTION
      This function should be called after the splitting has been
      performed.
 
 TEMP-DIRECTORY
      Where the temporary files should be stored.
 
 GROUP
      This optional argument should be a group name if the splitting is
      to be performed for one group only.
 
    ‘nnmail-get-new-mail’ will call BACK-END‘-save-mail’ to save each
 article.  BACK-END‘-active-number’ will be called to find the article
 number assigned to this article.
 
    The function also uses the following variables:
 BACK-END‘-get-new-mail’ (to see whether to get new mail for this back
 end); and BACK-END‘-group-alist’ and BACK-END‘-active-file’ to generate
 the new active file.  BACK-END‘-group-alist’ should be a group-active
 alist, like this:
 
      (("a-group" (1 . 10))
       ("some-group" (34 . 39)))