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