Previous | Next | Contents | Index |
pmdf db
allows you to control a variety of aspects of
messages posted to a mailing list alias, including associating error
return, reply to, and other special addresses with mailing lists. To
use these features, an extended alias specification must be used when
declaring the alias for the mailing list:
db> add alias-name "<filename, named-parameters, error-return-address, reply-to-address, errors-to-address, warnings-to-address, comments" |
named-parameters
item is described in
Section 6.4.3.1; the remaining items, called "positional
parameters", are described in Section 6.4.3.2.
The two positional parameters
error-return-address
and
reply-to-address
are two particularly useful
items. You are strongly encouraged to use the
error-return-address
parameter so as to control
where error messages concerning postings to your list are directed. You
can use the reply-to-address
parameter to make
the preferred reply address some specified address.
6.4.3.1 Named Parameters
Named-parameters are used to associate options with a mailing list.
There can be zero or more named parameters, each separated by commas,
and they must appear before any positional parameters. The general
syntax of a named-parameter is:
[name] value |
name
is the name of the parameter and
value
is its corresponding value. The square
brackets are a mandatory part of the syntax: they do not indicate an
optional field.
The available named parameters are:
BLOCKLIMIT
LINELIMIT
TheBLOCKLIMIT
andLINELIMIT
parameters may be used to limit the size of messages that may be posted to the list. Thevalue
item must be an integer number of PMDF blocks, for[BLOCKLIMIT]
, or an integer number of lines, for[LINELIMIT]
. The size of a PMDF block is normally 1024 bytes. The default value for these parameters is 0, meaning that no limit is imposed on the size of message that may be posted to the list (apart, that is, from any system wide limits).DELAY_NOTIFICATIONS
NODELAY_NOTIFICATIONS
TheDELAY_NOTIFICATIONS
named parameter requests thatNOTARY
delay notifications be sent for mailing list postings; theNODELAY_NOTIFICATIONS
named parameter requests thatNOTARY
delay notifications not be sent for mailing list postings. Thevalue
specification is currently ignored and should always beNONE
.HEADER_ADDITION
HEADER_ADDITION
may be used to specify a file of headers to be added to posted messages. The argument must be a full file specification for the file containing headers to be added. In particular this facility can be used to add the standard mailing list headers defined in RFC 2369. For instance, a user amy@example.com that has set up a list named listname might use a header addition file along the lines of the following:
List-Help: <mailto:amy@example.com?subject=help%20on%20listname> List-Subscribe: <mailto:amy@example.com?subject=subscribe%20listname> List-Unsubscribe: <mailto:amy@example.com?subject=unsubscribe%20listname> List-Post: <mailto:amy@example.com> List-Owner: <mailto:amy@example.com?Subject=listname> List-Archive: <mailto:amy@example.com?subject=request%20listname%20archive>IMPORTANCE
PRECEDENCE
PRIORITY
SENSITIVITY
TheIMPORTANCE
,PRECEDENCE
,PRIORITY
, andSENSITIVITY
named parameters are used to generate respective headers on messages posted to the list; thevalue
specification is inserted on the respective header line.SEQUENCE_PREFIX
SEQUENCE_SUFFIX
SEQUENCE_STRIP
TheSEQUENCE_PREFIX
andSEQUENCE_SUFFIX
named parameters request that a sequence number be prepended or appended to the Subject: lines of messages posted to the list. Thevalue
item gives the full file path specification of a sequence number file. This file is read, incremented, and updated each time a message is posted to the list. The number read from the file is prepended, in the case ofSEQUENCE_PREFIX
, or appended, in the case ofSEQUENCE_SUFFIX
, to the message'sSubject:
header line. This mechanism provides a way of uniquely sequencing each message posted to a list so that recipients can more easily track postings and determine whether or not they have missed any. By default, a response to a previously posted message (with a previous sequence number) retains the previous sequence number as well as adding a new sequence number to the subject line; the build up of sequence numbers shows the entire thread of the message in question. However, theSEQUENCE_STRIP
named parameter can be used to request that only the highest numbered, i.e., most recent, sequence number be retained on the subject line. Thevalue
item is currently ignored and should always beNONE
.
Sequence number files are binary files and must have the proper file attributes and access permissions in order to function correctly. In particular, sequence number files must be writeable from the perspective of the PMDF user account, normally
Important note
To ensure that sequence numbers are only incremented for successful postings, aSEQUENCE_PREFIX
orSEQUENCE_SUFFIX
named parameter should always appear as the last named parameter; that is, if other named parameters are also being used, theSEQUENCE_
named parameter should appear at the end of the list of named parameters.pmdfuser
. To create the fileseq-file-spec
for use as a sequence number file, issue the command:
or
% touch seq-file-spec
You will then need to have your system manager allow the
% cat >seq-file-specpmdfuser
account access to the file by setting the userid and groupid for the file to the values for thepmdfuser
account.TAG
TheTAG
named parameter may be used to prefix specified text to theSubject:
header of posted messages. Thevalue
item should be the string to be added.USERNAME
TheUSERNAME
named parameter may be used to set theusername
that PMDF will consider to "own" these mailing list messages. For instance, thepmdf qm
utility will allow that username to inspect and bounce messages in the queue resulting from expansion of this mailing list. Thevalue
item should be the username of the account to "own" the mailing list postings.
6.4.3.2 Positional Parameters
With one exception, the positional parameters in a mailing list
specification provide alternate addresses to which certain sorts of
list related activity should be directed (e.g., an address to
which errors should be sent to rather than back to the list itself).
The positional parameters are so named for a reason: their position in
the comma separated list distinguishes which parameter is being
specified. When more than one parameter (positional or otherwise) is
specified, they must be separated by commas. If you want to specify a
positional parameter but omit some which come first, then specify
asterisks, *
, for the positional parameters which you want
to omit. For example,
db> add sample-list "</usr/users/sue/sample.dis, *, *, sue@example.com" |
Without further ado, the positional parameters are:
error-return-address
error-return-address
specifies an address to replace the message's regular envelopeFrom:
address as well as an address to be inserted into the header as anErrors-to:
address. This header line is not generated if this address is not specified.reply-to-address
Thereply-to-address
parameter specifies an address to be used as a Reply-to: address.errors-to-address
Theerrors-to-address
parameter specifies an address to be placed on theErrors-to:
header, if this address should be different from theerror-return-address
that is used as the envelopeFrom:
address.warnings-to-address
Thewarnings-to-address
parameter specifies an address to be placed on theWarnings-to:
header line. This header line is not generated if this address is not specified.comments
Thecomments
parameter specifies a string to be placed in aComments:
header line. This header line will add to anyComments:
header lines already present in the message being posted to the list.
6.4.3.3 Examples
In this example, the user sue@example.com sets up a mailing list named
foo-list. The mailing list file is the file
/usr/users/sue/sample.dis
and its contents are shown in
Example 6-1. The commands used to set up the list are shown in
Example 6-2. sue@example.com may post to her list by sending to the
address sample-list@example.com from a user agent on the PMDF system (a
user agent that invokes the PMDF sendmail replacement).
Two positional parameters, error-return-address
and comments
, are specified. The
error-return-address
parameter specifies that error
messages associated with the list should be sent to sue@example.com;
the comments
parameter generates a Comments: header line
reading "Sue's sample list". which will appear in each
posting to the list.
Example 6-1 Sample Mailing List: The Mailing List File |
---|
bob@example.com judy@example.com ralph@example.com sue@example.com |
Example 6-2 Sample Mailing List: Declaring the Alias |
---|
% pmdf db db> add foo-list "</usr/users/sue/sample.dis,sue@example.com,*,*,*,Sue's sample list" db> exit |
6.4.3.4 Length Restriction on List Definitions
Keep in mind the length limit of alias expansion values of 252
characters when defining a more sophisticated mailing list with
multiple parameters. Most lists can be suitably defined with just a few
of the possible mailing list parameters discussed above. But if you
have a list for which you really want to use a lot of parameters, then
you may need to define the list in stages.
For instance, to define a list friends-list that has
HEADER_ADDITION
, NODELAY_NOTIFICATIONS
,
SEQUENCE_PREFIX
, USERNAME
, and
IMPORTANCE
named parameters, as well as
error-return-address and comments positional parameters, the list can
be defined in two stages, using a subsidiary friends-list-stage2
definition, e.g.,
db> add friends-list "</usr/users/alan/friends-list-stage2.dis,[HEADER_ADDITION] /usr/users/alan/friends-list-headers.txt,[NODELAY_NOTIFICATIONS] NONE,[SEQUENCE_PREFIX] /usr/users/alan/friends.seq,[USERNAME] alan" db> add friends-list-stage2 "</usr/users/alan/friends-list.dis,[IMPORTANCE] High, alan@example.com, *, *, *, A chatty message list for Alan's friends -- contact Alan at 555-1212 for more information" |
/usr/users/alan/friends-list-stage2.dis
file
contains just the line:
friends-list |
/usr/users/alan/friends-list.dis
contains all the
actual recipient addresses.
Previous | Next | Contents | Index |