Gnus Home
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.5 Archived Messages

Gnus provides a few different methods for storing the mail and news you send. The default method is to use the archive virtual server to store the messages. If you want to disable this completely, the gnus-message-archive-group variable should be nil, which is the default.

For archiving interesting messages in a group you read, see the B c (gnus-summary-copy-article) command (see section 3.26 Mail Group Commands).

gnus-message-archive-method says what virtual server Gnus is to use to store sent messages. The default is "archive", and when actually being used it is expanded into:

(nnfolder "archive"
          (nnfolder-directory   "~/Mail/archive")
          (nnfolder-active-file "~/Mail/archive/active")
          (nnfolder-get-new-mail nil)
          (nnfolder-inhibit-expiry t))

Note: a server like this is saved in the `~/.newsrc.eld' file first so that it may be used as a real method of the server which is named "archive" (that is, for the case where gnus-message-archive-method is set to "archive") ever since. If it once has been saved, it will never be updated by default even if you change the value of gnus-message-archive-method afterward. Therefore, the server "archive" doesn't necessarily mean the nnfolder server like this at all times. If you want the saved method to reflect always the value of gnus-message-archive-method, set the gnus-update-message-archive-method variable to a non-nil value. The default value of this variable is nil.

You can, however, use any mail select method (nnml, nnmbox, etc.). nnfolder is a quite likable select method for doing this sort of thing, though. If you don't like the default directory chosen, you could say something like:

(setq gnus-message-archive-method
      '(nnfolder "archive"
                 (nnfolder-inhibit-expiry t)
                 (nnfolder-active-file "~/News/sent-mail/active")
                 (nnfolder-directory "~/News/sent-mail/")))

Gnus will insert Gcc headers in all outgoing messages that point to one or more group(s) on that server. Which group to use is determined by the gnus-message-archive-group variable.

This variable can be used to do the following:

a string
Messages will be saved in that group.

Note that you can include a select method in the group name, then the message will not be stored in the select method given by gnus-message-archive-method, but in the select method specified by the group name, instead. Suppose gnus-message-archive-method has the default value shown above. Then setting gnus-message-archive-group to "foo" means that outgoing messages are stored in `nnfolder+archive:foo', but if you use the value "nnml:foo", then outgoing messages will be stored in `nnml:foo'.

a list of strings
Messages will be saved in all those groups.

an alist of regexps, functions and forms
When a key "matches", the result is used.

No message archiving will take place. This is the default.

Let's illustrate:

Just saving to a single group called `MisK':

(setq gnus-message-archive-group "MisK")

Saving to two groups, `MisK' and `safe':

(setq gnus-message-archive-group '("MisK" "safe"))

Save to different groups based on what group you are in:

(setq gnus-message-archive-group
      '(("^alt" "sent-to-alt")
        ("mail" "sent-to-mail")
        (".*" "sent-to-misc")))

More complex stuff:

(setq gnus-message-archive-group
      '((if (message-news-p)

How about storing all news messages in one file, but storing all mail messages in one file per month:

(setq gnus-message-archive-group
      '((if (message-news-p)
          (concat "mail." (format-time-string "%Y-%m")))))

Now, when you send a message off, it will be stored in the appropriate group. (If you want to disable storing for just one particular message, you can just remove the Gcc header that has been inserted.) The archive group will appear in the group buffer the next time you start Gnus, or the next time you press F in the group buffer. You can enter it and read the articles in it just like you'd read any other group. If the group gets really big and annoying, you can simply rename if (using G r in the group buffer) to something nice---`misc-mail-september-1995', or whatever. New messages will continue to be stored in the old (now empty) group.

That's the default method of archiving sent messages. Gnus offers a different way for the people who don't like the default method. In that case you should set gnus-message-archive-group to nil; this will disable archiving.

All outgoing messages will be put in this group. If you want to store all your outgoing mail and articles in the group `nnml:archive', you set this variable to that value. This variable can also be a list of group names.

If you want to have greater control over what group to put each message in, you can set this variable to a function that checks the current newsgroup name and then returns a suitable group name (or list of names).

This variable can be used instead of gnus-message-archive-group, but the latter is the preferred method.

If non-nil, automatically mark Gcc articles as read.

If nil, attach files as normal parts in Gcc copies; if a regexp and matches the Gcc group name, attach files as external parts; if it is all, attach local files as external parts; if it is other non-nil, the behavior is the same as all, but it may be changed in the future.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by on September, 5 2010 using texi2html