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)))