Hooking New Backends Into Gnus
Backend Interface
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.
| method | This should be a symbol to designate which backend 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 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)))