Gnus Manual. Node: Mail-like Backends

PREVHooking New Backends Into Gnus UPBackend Interface next Mail-like Backends

One of the things that separate the mail backends from the rest of the backends is the heavy dependence by the mail backends 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.


This should be a symbol to designate which backend is responsible for the call.


This function should be called after the splitting has been performed.


Where the temporary files should be stored.


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 backend-save-mail to save each article. backend-active-number will be called to find the article number assigned to this article.

The function also uses the following variables: backend-get-new-mail (to see whether to get new mail for this backend); and backend-group-alist and backend-active-file to generate the new active file. backend-group-alist should be a group-active alist, like this:

(("a-group" (1 . 10))
 ("some-group" (34 . 39)))
PREVHooking New Backends Into Gnus UPBackend Interface next