Sign In Sign Out Mailing Lists Unsubscribe or Change Settings Help

OpenBSD Mailing List Server

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
archive-delete[-hidden][-force]    listname date_count_number
archive-get[-immediate][-hidden]   listname date_count_number
archive-get-digest[-mime][-hidden] listname date_count_number 
archive-index[-hidden]             listname date_count_number
archive-part-delete                listname message_number part_number
archive-part-edit                  listname message_number part_number
archive-part-get[-clean]           listname message_number part_number
archive-stats[-hidden]             listname date_count_number
archive-summary                    listname
archive-sync                       listname pattern
archive-part-replace listname message_number part_number <<ENDTAG
[New Contents]
ENDTAG
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
date_count_number, if specified, indicates one or more messages
listname,          required,     is the name of a mailing list
message_number,    if specified, indicates a single message
part_number,       if specified, refers to a portion of a message
pattern,           if specified, indicates the names of files
-clean,   if specified, removes dangerous portions of an HTML part
-delete,  if specified, causes messages to be removed from the archive
-digest,  if specified, causes messages to be mailed in digests
-edit,    if specified, allows part of a posted message to be changed
-force,   if specified, removes messages which await digest delivery
-get,     if specified, causes whole messages to be displayed
-hidden,  if specified, displays only hidden messages (admins only)
-immediate, if specified, displays messages without pretty formatting
-index,   if specified, displays a summary of each message
-mime,    if specified, causes digests to be mailed in "mime" format
-part,    if specified, causes part of a posted message to be displayed
-replace, if specified, replaces part of a message with new contents
-stats,   if specified, displays per-user statistics
-summary, if specified, lists archive files and their contents
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
The following command modes will sort the results of the 
  archive-get or archive-index command:
-author,  if specified, causes messages to be sorted by author
-date,    if specified, causes messages to be sorted by date
-reverse, if specified, reverses the order of the messages
-subject, if specified, causes messages to be sorted by subject
-thread,  if specified, causes messages to be sorted by thread
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

The archive command is used to retrieve posted messages that have been
sent to a mailing list.  

In the examples that follow, where you see LISTNAME, instead use the 
name of an actual mailing list.


Dates, message numbers, and counts
----------------------------------
There are several ways to indicate which messages you want to 
retrieve from an archive.  The four basic ways are:
 
  1. A date or time frame.  For example, the number "200109"
  would represent all messages posted during the 9th month (September)
  of the year 2001.  See "help times" for more details.

  2. A message number.  For example, the number "200107/14" would
  represent the 14th message in the 200107 (July, 2001) archive.

  3. A message count.  For example, the number "25" would
  represent the last 25 messages that were delivered to the 
  subscribers of a mailing list and stored in the archive.

  4. A time span.  For example, the term "38d" would refer to all
  messages posted to a mailing list during the last 38 days.
  See "help times" for more details.

The first three can be combined into ranges of messages by separating
them with a hyphen surrounded by spaces.  For example, the range
  200107 - 200109
would retrieve all messages posted during the months of July, August,
or September, 2001.

Detailed examples appear later in this document.  First, the
archive-index and archive-get commands will be introduced.


archive-index
-------------
The archive-index command will display a summary of individual messages
within an archive.  The details in the summary usually include the
message number and date, the e-mail address of the author, the subject
of the message, and the size of the message in kilobytes.  The message
number of a message can be used to retrieve messages individually.

The archive message number indicates the position of the message within a
particular archive file.  For example, "200101/12" means the 12th message
in the January, 2001 archive.  


archive-get
-----------
The archive-get command is used to retrieve the actual contents of
posted messages.  When the archive-get command is used, each message
that is retrieved will be mailed to you, just as if you had received it
when it was first delivered to the mailing list.  List administrators
can use this in combination with the "default user" command to resend
messages to individual subscribers who wish to receive a new copy.  See
"help default" for an introduction to the "default user" command.

When the archive-get-immediate command is used, all of the messages that
are retrieved will be sent within one message, exactly as they are
stored in the archive, with all message headers intact.

The archive-get-digest or archive-get-digest-mime command will cause
messages to be bundled into digests, typically with no more than 1000
lines in each digest.  Usually, a plain text digest is sent, but the
"mime" command mode will cause the messages to be bundled into MIME
digests, in which each message is an attachment.  Each digest will be
mailed to you in a separate message.


Example:  A simple message count
    archive-index test 20
  would retrieve an index of the last 20 messages posted to the "test" list,
    archive-get test 20
  would retrieve the last twenty messages themselves.

Example:  A date or time frame
    archive-index test 1999
  shows all messages in all of the 1999 archives of the "test" list.
    archive-get test 199903
  retrieves all messages in the March 1999 archive of the "test" list.
    archive-index test 19990305
  shows only messages posted on the "test" list the day of 5 March 1999.
  (Refer to "help times" for details of the date field syntax.)

Example:  A message number
    archive-get test 199903/4
  retrieves the 4th message in the March 1999 archive of the "test" list.

Example:  A time span
    archive-index test 36h
  would display a summary of every message posted to the "test" list
  during the last 36 hours.

Example:  Retrieving messages from an auxiliary list archive
    archive-get test bugs.199903
  retrieves all messages in the March 1999 archive of the auxiliary list
  "bugs" of the "test" mailing list.  See "help auxiliary_list" for more
  details on auxiliary lists.

Example:  A range of dates
    archive-get almond 20000205 - 20000207
  would retrieve all messages distributed on the "almond" list
  during the 5th, 6th, and 7th of February, 2000.

Example:  A range with two count fields
    archive-index lime 15 - 3
  would retrieve an index of the 15 messages immediately preceding
  the 3rd most recent message sent to the "lime" list. This unusual
  result happens because the last field of the range (3) indicates the
  range ends with the 3rd most recent post. The start of the range,
  as with a single message count, counts backwards from the end.

Example:  A list of message numbers
    archive-index currant 200101/5 200101/12 200103/8
  would display a summary of three messages posted to the "currant"
  list:  the 5th and 12th messages from January 2001, and the 8th
  message from March 2001.

Example:  A range with a message number and a count
    archive-get lemon 200001/3 - 15
  will retrieve the third message in the January 2000 archive of the
  "lemon" list, and 14 messages following it, even if those messages are
  found in other archives, such as February 2000 or later. 

Example:  A range with a count and a message number
    archive-get peach 12 - 200001/3
  will retrieve the third message in the January 2000 archive of the
  "peach" list, and 11 messages preceding it, even if those messages are
  found in other archives, such as December 1999 or earlier. 

Example:  A range with a count and a time frame
    archive-index tangerine 10 - 1998
  would retrieve an index of the last ten messages posted to the
  "tangerine" list on or before December 31, 1998.

Example:  A range with a time frame and a count
    archive-index tangerine 199803 - 10
  would retrieve an index of the first 10 messages posted to the
  "tangerine" list on or after March 1, 1998.

Example:  A range with a message number and a time frame
    archive-get-digest olive 1997034/6 - 199705
  would mail one or more digests of messages from the archive of the
  "olive" mailing list. The range of messages would begin with the 6th
  message in the archive of the 4th week of March 1997, and end with
  the last message posted to list in May 1997.


Sorting the results
-------------------
Both the archive-get and the archive-index command take additional
command modes that will sort the results.  

The "author" command mode will cause the messages to be sorted by the
address of the author.  The sorting is done by domain first, similar to
the results of the who command.  

The "date" command mode will cause the messages to be sorted by the
date.  The dates that are given to messages in the archive can be
based upon the time of arrival or the time of delivery; see 
"help configset_archive_date" for more information.

The "subject" command mode will sort the messages alphabetically by
subject, ignoring any leading "Re: " reply markers.

The "thread" command mode will sort the messages by thread.  When one
posted message is a reply to another, those two messages will be grouped
together.  Aside from this grouping, the messages will be presented
chronologically.  Older archive databases may lack the "msgid" field
that allows threading to work consistently; these databases can be
updated by the list administrators with the archive-sync command.

The "reverse" command mode will cause the order of the results to be
reversed.  For example, the command:

  archive-get-immediate-reverse LISTNAME 200104

will display the messages from April, 2001, with the most recent
messages appearing first.


Searching the archives
----------------------
A "here document" can be used to specify search patterns A
pattern beginning with "~s" will search the subjects of messages.  A
pattern beginning with "~a" will search the addresses of the people who
posted the messages.  For example, the following command would match
messages that were posted in the year 2001 and have the word "Unknown"
in the subject header:

archive-index LISTNAME 2001 <<ABCD
  ~s/Unknown/
ABCD

Only messages that match all of the patterns will be retrieved.  See
"help here_document" and "help patterns" for more details on here
documents and search patterns.


archive-summary
---------------
The archive-summary command lists all of the archive files that are
available for a mailing list.  The number of messages, lines, and bytes
in each archive file are also shown.  This command does not take a
filespec or other argument.  Just use the following command:

  archive-summary LISTNAME

This command will only show archives of messages that were posted to the
list.  To see archived of messages that were posted to a sublist, use
the following command:

  archive-summary LISTNAME:SUBLIST

See "help auxiliary_list" for more information about sublists.


archive-stats
-------------
The archive-stats command is used to get a sorted report of the number
of messages posted by each address to a mailing list for the messages
specified by "filespec". For instance, to find out who posted most often
on a mailing list during September 2000, use this command:

  archive-stats LISTNAME 200009

The cumulative size of the messages posted by each author is also shown
in the report.


archive-delete (for administrators only)
----------------------------------------
The archive-delete option takes the usual arguments: dates, message
counts, message numbers, and combinations thereof.   It is possible to
delete all of the archives for a mailing list with one command, and a
message can be prevented from appearing in a digest by deleting it.  Use
the archive-index command before running the archive-delete command if
you wish to verify which messages will be deleted.  If you wish to
delete a recent message from the archives, but want to make sure that
all digests containing the message have been sent, use the
"digest-status" command to examine the state of the digests.  See 
"help digest" for more details.

Example:
  digest-status LISTNAME ALL

If you attempt to delete a message that has not yet been delivered in a
digest, that message will not be removed unless you use the "force"
command mode.

Example:
  archive-delete-force LISTNAME 200107/14

After one or more messages have been deleted, the numbers of the
remaining messages are not changed. For example, if message number
200008/2 were deleted,  200008/1 and 200008/3 would be the first two
messages in the August 2000 archive.  Deleting a message causes the
index and count files to be updated automatically, so "archive-sync" is
not needed after "archive-delete".

Messages that are posted by people with the "hidepost" setting will
be marked as hidden, and an "X-no-archive: yes" header will be added to
those messages.  In addition, messages that match the patterns in
the noarchive_body and noarchive_headers configuration settings will
receive the same treatment.  If the "hidden" command mode is used, only
messages that are marked as hidden will be deleted.  The hidden command
mode also applies to the archive-get and archive-index commands.  An
administrative password is required to use it.

The message archives are used by the delivery system to construct
message digests.  If an attempt is made to delete a message that
is awaiting delivery as part of a digest, it will not be removed unless
the "force" command mode is also used.


archive-sync (for administrators only)
--------------------------------------
The archive-sync command synchronizes the messages in one or more
archive files with the archive databases.  It allows list administrators
to update the databases after new archives have been imported into a
mailing list's file space.

The archive-sync command is necessary after you alter the archives using
some means outside of Majordomo (for example, editing an archive file
using an operating system command.)  It is also necessary after you
upload an archive file using the put command.  

The archive-sync command expects messages in an archive file to be in
"mbox" format.  Each message must begin with a line containing the
word "From" followed by the e-mail address of the message's author
and the date of the message, for example:

From z@example.com  Sun Jan  9 21:56:07 2000


The archive-sync command takes one argument, which must be the
date of a particular archive file or a Majordomo pattern matching
one or more archive files (see "help patterns").  For example,

  archive-sync LISTNAME 200005

would synchronize the May 2000 archive databases with the
messages themselves.  

Alternately, if you have a bunch of files to process at once, you can
specify a pattern and all files matching that pattern will be
synchronized.  For example,

  archive-sync LISTNAME /^19991/

would synchronize the October, November, and December, 1999 archives.
The archive names against which the pattern is matched can be seen using
the archive-summary command.

In your mailing list's file space, all archive file names must begin
with the list name, followed by a period and the date of the archive,
for example:

  LISTNAME.200204

However, when you list archive files to synchronize, only the date
should be included, for example:

  archive-sync LISTNAME 200204


When using archive-sync, any message without an X-Archive-Number header
will be given a new number, one greater than the highest number in the
archive, and a new header.  Any archive number that does not correspond
to the archive in question will be replaced by one that does (in this
way, it is possible to combine archives).

When messages are stored in the archive, the date that is stored in
the database will depend upon the archive_date configuration setting
(see "help configset_archive_date" for more details.)  When the 
archive-sync command is run, the date will be recalculated from the
Received headers of each message, causing the dates to change.


archive-part
------------
The archive-part command mode has four variations which can be used
to view, edit, delete, or change part of a single message within the
archive.  Each message has at least one part, and each part within a
message is numbered.  Part number 0 is used to refer to the whole
message.  To see an example of message numbering, read the "Special
features for posted messages" section of the "help tokeninfo" document.

The archive-part-get command will display the contents of a part of
a message.

The archive-part-edit command will display part of a message in a
way that makes it easy to change the part's contents.

The archive-part-replace command will replace part of a message with
new contents.  The archive databases will be synchronized automatically.

The archive-part-delete command will remove part of a message.  The
archive databases will be synchronized automatically.

The archive-part-get-clean or archive-part-edit-clean will remove
potentially dangerous portions of a text/html body part, such as
images, fill-out forms, and scripts, before the part is displayed.


Notes for list administrators
-----------------------------
List archives may be organized by year, month, week, or day, at the
discretion of the list owners.   The organization is controlled by the
archive_split configuration setting.  Additionally, the size of an
individual archive file can be limited using the archive_size
configuration setting.  These settings only affect the disposition of
future messages, and have no effect upon existing archives.

By default, messages are stored in the file space of a mailing list, in
the "/public/archive" directory.  The following command:
  index LISTNAME archive
will usually display a list of the files in the archive.  The location
of the archive can be changed by altering the archive_dir configuration
setting.  Changing this setting will not cause any existing archives
to be relocated automatically.  If the new directory is outside the file
space of a mailing list, the "get" and "index" commands will no longer be
useful for retrieving the files.

Archive file names begin with the name of the mailing list, followed by
a period and a date.  For example, a message posted to the "prunus"
mailing list in July 2001 might be stored in the "prunus.200107" file.
The archive_split configuration setting determines the style of date
(for example, "weekly" or "quarterly") that is used for any new
messages.  Although any new archive files will use four digits to
specify the year, archives with two-digit years are supported for
backward compatibility.

The archive_size configuration setting can be used to limit the total
size of an archive file.  If the size is limited, a hyphen and two digit
number are added to the name of each archive file.  For example, the
messages posted to the "prunus" mailing list in June 2002 might be
stored in the "prunus.200206-00" and "prunus.200206-01" archive files.

Messages posted to auxiliary lists are also archived, but the file name
of the archive is adjusted to include the auxiliary list name.  For
example, a message posted to the "plum" auxiliary list of the "prunus"
mailing list during July 2001 would be stored in the
"prunus.plum.200107" file.

By default, the list archives are available to subscribers who
authenticate themselves using a personal password.  Access to the the
archive command is controlled by the access_rules and archive_access
configuration settings.

Administrators should note that the archive number of a message is not
the same as the sequence number of the message.  For example, a sequence
number of 85 refers to the 85th message ever posted to the mailing list
(see "help configset_sequence_number" for a more thorough explanation.)

Mail headers can be used by people who post messages to a mailing list
to indicate that they do not wish the message to be displayed in a
public archive.  Majordomo honors the following two headers by default:

  X-no-archive: yes
  Restrict: no-external-archive

Additional headers can be supported by changing the noarchive_headers
configuration setting; see "help configset_noarchive_headers" for
more details.

If a public archive of the list is available, for example a WWW archive
created by software other than Majordomo, the archive_url configuration
setting can be adjusted by the list owners to indicate the location of
the archive.


See Also:
   help admin_delivery
   help auxiliary_list
   help configset_archive_access (to restrict access to this command)
   help configset_archive_date
   help configset_archive_dir (to store archives in a different directory)
   help configset_archive_size
   help configset_archive_split
   help configset_archive_url
   help configset_noarchive_headers
   help configset_sequence_number
   help default
   help get   (which may be used in some cases to retrieve archives)
   help here_document
   help index (which may be used to show which archives are available)
   help patterns
   help put   (which is used to create the archive directory)
   help times (for an introduction to time spans and time frames)

This is the "archive" help document for 
Majordomo 2, version 0.1201103110.

For a list of all help documents, send the following command:
   help topics
in the body of a message to majordomo@openbsd.org.

For assistance, please contact the openbsd.org administrators.
Sign In Sign Out Mailing Lists Unsubscribe or Change Settings Help