PMDF contains a modest collection of user-level and system-level utility programs, as well as two mail user agents, PMDF MAIL and PMDF Pine. User-level utilities include utilities to manage "personal address books" of e-mail addresses and mailing lists (DB), to filter incoming messages (DELIVER), to decode and encode MIME encoded messages (DECODE and ENCODE), to file messages to a particular folder (FOLDER), to set a user's forwarding address (FORWARD), to move folders from one system to another (migrate), to manage passwords such as those used for POP APOP commands or POP logins (PASSWORD), to turn text to PostScript or wrap PostScript lines (PS and PSWRAP), and to send messages from the DCL command line (SEND). PMDF also includes list server facilities. System-level utilities are used to perform various maintenance, testing, and management tasks.
1 – CACHE
1.1 /CLOSE
Force detached PMDF processes to close any open I/O channels to
the queue cache database.
Syntax
PMDF CACHE/CLOSE
Command Qualifiers Defaults
None. None.
1.1.1 – Restrictions
SYSLCK privilege is required to in order to use this utility.
1.1.2 – Parameters
None.
1.1.3 – Description
The CACHE/CLOSE utility is used to force, cluster-wide, all
detached PMDF processes to close any open I/O channels that they
have to the queue cache database. This is generally done for
two reasons: to close all channels to the file so that it can be
modified, and to force detached processes to re-open the queue
cache database file so as to begin using any new version of that
database.
Sites using the TCP/IP channel, PMDF-LAN Lotus Notes channels,
PMDF-XGS, Jnet (BN_SLAVE), the PMDF-DIRSYNC Lotus Notes directory
agent, or FAX receive processes will have detached PMDF processes
which may need to close channels to the database.
1.1.4 – Examples
After a new queue cache database is built with CACHE/REBUILD,
a CACHE/CLOSE command should be issued to force any detached
processes to begin using the new database:
$ PMDF CACHE/REBUILD
$ PMDF CACHE/CLOSE
$ ! ...wait a minute or two...
$ PMDF CACHE/SYNCH
1.2 /REBUILD
Build a new, synchronized queue cache database.
Syntax
PMDF CACHE/REBUILD
Command Qualifiers Defaults
None. None.
1.2.1 – Restrictions
Requires sufficient privileges to create a file in the PMDF_
TABLE: directory, and to scan the PMDF_QUEUE:[*] directories.
1.2.2 – Parameters
None.
1.2.3 – Description
The CACHE/REBUILD utility creates a new, synchronized queue cache
database. Although the new database will inherit the ownership
and file protections of the previous database, it is a good idea
to check afterwards that the new queue cache is owned by the same
UIC as the QUEUE.DIR and LOG.DIR files in the PMDF_ROOT:[000000]
directory and that the file is protected against group and world
access (S:RWED,O:RWED,G,W).
Rebuilding the queue cache database with this command should
only be performed as a last resort, e.g., if disk problems
have corrupted your queue cache database, as it will cause loss
of some information from the queue cache database. (The sort
of information lost includes, but is not limited to, message
creation dates, message deferral dates, message expiration dates,
and the original message owner information used by the PMDF QM
utility to allow users to bounce their own messages.)
The command PMDF CACHE/CLOSE should be issued immediately after
building the new queue cache so as to ensure that any detached
processes close any I/O channels to the old database and open new
channels to the new database.
The queue cache database is the file pointed at by the PMDF_
QUEUE_CACHE_DATABASE logical. Normally, this is the file QUEUE_
CACHE.DAT in the PMDF_TABLE: directory. This file should be
protected against world and group access and be owned by the same
UIC as the directory files QUEUE.DIR and LOG.DIR in the PMDF_
ROOT: directory.
1.2.4 – Examples
To build a new queue cache database issue the commands
$ PMDF CACHE/REBUILD
$ PMDF CACHE/CLOSE
$ ! wait a minute or two
$ PMDF CACHE/SYNCH
1.3 /SYNCHRONIZE
Update the queue cache database so as to reflect all messages
currently present in the message queues.
Syntax
PMDF CACHE/SYNCHRONIZE
Command Qualifiers Defaults
None. None.
1.3.1 – Restrictions
Requires sufficient privileges to scan the PMDF_QUEUE:[*]
subdirectories and add entries to the queue cache database.
1.3.2 – Parameters
None.
1.3.3 – Description
The CACHE/SYNCHRONIZE utility updates the active queue cache
database by updating it to reflect all non-held message files
currently present in the PMDF_QUEUE:[*] subdirectories.
The PMDF CACHE/CLOSE command does not need to be issued in
conjunction with the PMDF CACHE/SYNCHRONIZE command.
The queue cache database is the file pointed at by the PMDF_
QUEUE_CACHE_DATABASE logical. Normally, this is the file QUEUE_
CACHE.DAT in the PMDF_TABLE: directory. This file should be
protected against world and group access and be owned by the same
UIC as the directory files QUEUE.DIR and LOG.DIR in the PMDF_
ROOT: directory.
1.3.4 – Examples
To synchronize the queue cache, for instance after renaming a
message file, issue the command
$ PMDF CACHE/SYNCHRONIZE
2 – CHBUILD
Compile the PMDF character set conversion tables in an OpenVMS
shareable image.
Syntax
PMDF CHBUILD
Command Qualifiers Defaults
/IMAGE_FILE=file-spec /IMAGE_FILE=PMDF_CHARSET_DATA
/MAXIMUM /NOMAXIMUM
/OPTION_FILE=file-spec /OPTION_FILE=PMDF_CHARSET_OPTION_FILE
/STATISTICS /NOSTATISTICS
2.1 – Parameters
None.
2.2 – Description
The CHBUILD utility compiles the character set conversion tables
into an OpenVMS shareable image. The resulting file can then be
installed with the OpenVMS INSTALL utility.
PMDF ships with very complete character set tables so it is not
normally necessary to run this utility.
2.3 – Command Qualifiers
2.3.1 /IMAGE_FILE
/IMAGE_FILE=file-spec
/NOIMAGE_FILE
By default, CHBUILD creates as output the file PMDF_CHARSET_DATA.
With the /IMAGE_FILE qualifier, an alternate file name may be
specified.
When the /NOIMAGE_FILE qualifier is specified, CHBUILD does not
produce an output file. This qualifier is used in conjunction
with the /OPTION_FILE qualifier to produce as output an option
file which specifies table sizes adequate to hold the tables
required by the processed input files.
2.3.2 /MAXIMUM
/MAXIMUM
/NOMAXIMUM (default)
The file PMDF_TABLE:MAXIMUM_CHARSET.DAT is read in addition to
the file PMDF_CHARSET_OPTION_FILE when /MAXIMUM is specified.
This file specifies near maximum table sizes but does not change
any other option file parameter settings. Only use this qualifier
if the current table sizes are inadequate. The /NOIMAGE and
/OPTION_FILE qualifiers should always be used in conjunction with
this qualifier-it makes no sense to output the enormous character
set image that is produced by /MAXIMUM, but it does make sense
to use /MAXIMUM to get past size restrictions in order to build
a properly sized character set option file so that a properly
sized character set data can be built with a subsequent CHBUILD
invocation.
2.3.3 /OPTION_FILE
/OPTION_FILE[=file-spec]
/NOOPTION_FILE (default)
CHBUILD can optionally produce an option file that contains
correct table sizes to hold the conversion tables which were
just compiled (plus a little room for growth). The /OPTION_FILE
qualifier causes this file to be output. By default, this file
is the file pointed to by the logical PMDF_CHARSET_OPTION_FILE,
normally PMDF_TABLE:OPTION_CHARSET.DAT. The value on the /OPTION_
FILE qualifier may be used to specify an alternate file name. If
the /NOOPTION_FILE qualifier is given, then no option file will
be output.
CHBUILD always reads any option file that is already present via
the PMDF_CHARSET_OPTION_FILE logical name; use of this qualifier
will not alter this behavior. However, use of the /MAXIMUM
qualifier causes CHBUILD to read options from MAXIMUM_CHARSET.DAT
in addition to PMDF_CHARSET_OPTION_FILE. This file specifies near
maximum table sizes. Only use this qualifier if the current table
sizes are inadequate, and only use it to create a new option
file. The /NOIMAGE qualifier should always be specified when
/MAXIMUM is specified since a maximum-size image would be truly
enormous and extremely wasteful.
2.3.4 /SIZES
/SIZES
/NOSIZES (default)
The /SIZES qualifier instructs PMDF CHBUILD to output information
on the sizes of the uncompiled character set tables.
2.3.5 /STATISTICS
/STATISTICS
/NOSTATISTICS (default)
The /STATISTICS qualifier instructs CHBUILD to output information
on the compiled conversion tables. These numbers give a rough
measurement of the efficiency of the compilation, and may
indicate whether or not an additional rebuild with the /OPTION_
FILE qualifier is needed.
2.4 – Examples
The standard commands used to compile character set conversion
tables and reinstall them are:
$ PMDF CHBUILD
$ INSTALL REPLACE PMDF_CHARSET_DATA
3 – CLBUILD
Compile a PMDF command definition file into an OpenVMS shareable
image.
Syntax
PMDF CLBUILD cld-file-spec
Command Qualifiers Defaults
/DEBUG /NODEBUG
/IMAGE_FILE=file-spec /NOIMAGE_FILE
/MAXIMUM /NOMAXIMUM
/OPTION_FILE=file-spec /NOOPTION_FILE
/SIZES /NOSIZES
/STATISTICS /NOSTATISTICS
3.1 – Parameters
cld-file-spec
The file specification of a PMDF command line definition file to
read as input, e.g., PMDF_COM:PMDF.CLD
3.2 – Description
The CLBUILD utility compiles a command line definition file
into an OpenVMS shareable image. The resulting image can then
be installed with the OpenVMS INSTALL utility.
PMDF ships with a pre-compiled command line definition image so
it is not normally necessary to run this utility.
3.3 – Command Qualifiers
3.3.1 /DEBUG
/DEBUG
/NODEBUG (default)
The /DEBUG qualifier causes CLBUILD to output debug information
regarding its operation.
3.3.2 /IMAGE_FILE
/IMAGE_FILE=file-spec
/NOIMAGE_FILE (default)
By default, CLBUILD does not produce a compiled command
definition file. In order to produce a compiled command
definition file, the file to produce must be specified using the
/IMAGE_FILE qualifier. Note that the logical name PMDF_COMMAND_
DATA may be specified as the image file-spec, if the goal is to
produce a compiled version of the main PMDF command definition
file, PMDF_COM:PMDF.CLD.
3.3.3 /MAXIMUM
/MAXIMUM
/NOMAXIMUM (default)
The file PMDF_TABLE:MAXIMUM_COMMAND.DAT is read when /MAXIMUM is
specified. This file specifies near maximum table sizes but does
not change any other command option file parameter settings. Only
use this qualifier if the current table sizes are inadequate.
The /NOIMAGE_FILE and /OPTION_FILE qualifiers should always be
used in conjunction with this qualifier-it makes no sense to
output the enormous command definition image that is produced by
/MAXIMUM, but it does make sense to use /MAXIMUM to get past size
restrictions in order to build a properly sized command option
file so that a properly sized command definition image can be
built with a subsequent CLBUILD invocation.
3.3.4 /OPTION_FILE
/OPTION_FILE[=file-spec]
/NOOPTION_FILE (default)
CLBUILD can optionally produce a command option file that
contains correct table sizes to hold the command definitions
which were just compiled (plus a little room for growth). The
/OPTION_FILE qualifier causes this file to be read as input and
a new such option file created as output. If /OPTION_FILE is
specified with no value, then the file written will have the
same name as the input command definition file, but with the file
extension .COP; for instance, if the file PMDF_COM:PMDF.CLD was
the input parameter, then the default name for the output command
option file would be PMDF_COM:PMDF.COP. If the /NOOPTION_FILE
qualifier is specified (the default), then no option file will be
output.
Note that use of the /MAXIMUM qualifier causes CLBUILD to read
options from MAXIMUM_COMMAND.DAT in addition to any command
option file. This file specifies near maximum table sizes. Only
use this qualifier if the current table sizes are inadequate,
and only use it to create a new command option file. The /NOIMAGE
qualifier should always be specified when /MAXIMUM is specified
since a maximum-size image would be truly enormous and extremely
wasteful.
3.3.5 /SIZES
/SIZES
/NOSIZES (default)
The /SIZES qualifier instructs PMDF CLBUILD to output information
on the sizes of the uncompiled command definitions.
3.3.6 /STATISTICS
/STATISTICS
/NOSTATISTICS (default)
The /STATISTICS qualifier instructs CLBUILD to output information
on the compiled conversion tables. These numbers give a rough
measurement of the efficiency of the compilation, and may
indicate whether or not an additional rebuild with the /OPTION_
FILE qualifier is needed.
3.4 – Examples
The standard commands used to compile the basic PMDF command
definition file and restart PMDF to use it, plus update the
system DCL tables, are:
$ PMDF CLBUILD/OPTION_FILE/IMAGE_FILE=PMDF_COMMAND_DATA PMDF_COM:pmdf.cld
$ INSTALL REPLACE PMDF_COMMAND_DATA
$ SET COMMAND/TABLE=SYS$COMMON:[syslib]dcltables.exe -
_$ /OUTPUT=SYS$COMMON:[syslib]dcltables.exe PMDF_COM:pmdf.cld
$ INSTALL REPLACE SYS$LIBRARY:dcltables.exe
4 – CNBUILD
Compile the PMDF configuration, alias, mapping, security, system
wide filter, circuit check, and option files into an OpenVMS
shareable image.
Syntax
PMDF CNBUILD
Command Qualifiers Defaults
/IMAGE_FILE=file-spec /IMAGE_FILE=PMDF_CONFIG_DATA
/MAXIMUM /NOMAXIMUM
/OPTION_FILE=file-spec /OPTION_FILE=PMDF_OPTION_FILE
/SIZES /NOSIZES
/STATISTICS /NOSTATISTICS
4.1 – Restrictions
None.
4.2 – Parameters
None.
4.3 – Description
The CNBUILD utility compiles the textual configuration, option,
mapping, security, conversion, system wide filter, and alias
files into a single OpenVMS shareable image. The resulting image,
PMDF_CONFIG_DATA (usually PMDF_EXE:CONFIG_DATA.EXE), can then be
installed with the OpenVMS INSTALL utility.
Whenever a component of PMDF (e.g., a channel program) must read
any possibly compiled configuration component, it first checks
to see if the PMDF_CONFIG_DATA image exists. If it does, the
image is merged into the running program using the OpenVMS RTL
routine LIB$FIND_IMAGE_SYMBOL. There are five exceptions to this
rule. The first is CNBUILD itself, which for obvious reasons
always reads the text files and never tries to load the image
form of the configuration data. The remaining four exceptions are
TEST/REWRITE, TEST/MAPPING, TEST/FAX_ROUTING, and TEST/X400 which
can all be instructed with the /NOIMAGE_FILE qualifier to ignore
any compiled image information. This facility in TEST/REWRITE is
useful for testing changes prior to compiling them.
The reason for compiling configuration information is simple:
performance. The only penalty paid for compilation is the need
to rebuild and reinstall the file any time the configuration or
alias files are edited. Also, be sure to restart any channels or
components which load the configuration data only once when they
start up (e.g., the PMDF multithreaded TCP SMTP server, the POP
or IMAP servers, FAX_RECEIVE, BITNET channels, or, if using PMDF-
MR for MR TS replacement, the All-in-1 Sender, All-in-1 Fetcher,
and MailWorks server).
Once you begin to use a compiled configuration, it will be
necessary to recompile the configuration every time changes are
made to any of the following files: the PMDF configuration file,
PMDF.CNF (or any files referenced by it); the system alias file,
ALIASES.; the system mapping file, MAPPINGS.; the PMDF option
file, OPTION.DAT; the conversions file, CONVERSIONS., the system
wide filter file, PMDF.FILTER, the circuit check configuration
file, CIRCUITCHECK.CNF, or the security configuration file,
SECURITY.CNF. Until such time that the configuration is
recompiled and reinstalled, changes to any of these files will
not be visible to the running PMDF system.
See the PMDF System Manager's Guide for further details on the
use of compiled configurations.
4.4 – Command Qualifiers
4.4.1 /IMAGE_FILE
/IMAGE_FILE=file-spec
/NOIMAGE_FILE
By default, CNBUILD creates as output the file PMDF_CONFIG_DATA.
With the /IMAGE_FILE qualifier, an alternate file name may be
specified.
When the /NOIMAGE_FILE qualifier is specified, CNBUILD does not
produce an output file. This qualifier is used in conjunction
with the /OPTION_FILE qualifier to produce as output an
option file which specifies table sizes adequate to hold the
configuration required by the processed input files.
4.4.2 /MAXIMUM
/MAXIMUM
/NOMAXIMUM (default)
The file PMDF_TABLE:MAXIMUM.DAT is read in addition to PMDF_
OPTION_FILE when /MAXIMUM is specified. This file specifies near
maximum table sizes but does not change any other option file
parameter settings. Only use this qualifier if the current table
sizes are inadequate. The /NOIMAGE and /OPTION_FILE qualifiers
should always be used in conjunction with this qualifier-it makes
no sense to output the enormous configuration that is produced by
/MAXIMUM, but it does make sense to use /MAXIMUM to get past
size restrictions in order to build a properly sized option
file so that a properly sized configuration can be built with
a subsequent CNBUILD invocation.
4.4.3 /OPTION_FILE
/OPTION_FILE[=file-spec]
/NOOPTION_FILE (default)
CNBUILD can optionally produce an option file that contains
correct table sizes to hold the configuration that was just
compiled (plus a little room for growth). The /OPTION_FILE
qualifier causes this file to be output. By default, this file
is the file pointed to by the PMDF_OPTION_FILE logical, normally
PMDF_TABLE:OPTION.DAT. The value on the /OPTION_FILE qualifier
may be used to specify an alternate file name. If the /NOOPTION_
FILE qualifier is given, then no option file will be output.
CNBUILD always reads any option file that is already present
via the PMDF_OPTION_FILE logical name; use of this qualifier
will not alter this behavior. However, use of the /MAXIMUM
qualifier causes CNBUILD to read PMDF options from the PMDF_
TABLE:MAXIMUM.DAT in addition to reading PMDF_OPTION_FILE. This
file specifies near maximum table sizes. Only use this qualifier
if the current table sizes are inadequate, and only use it to
create a new option file. The /NOIMAGE qualifier should always be
specified when /MAXIMUM is specified since a maximum-size image
would be truly enormous and extremely wasteful.
4.4.4 /SIZES
/SIZES
/NOSIZES (default)
The /SIZES qualifier instructs PMDF CNBUILD to output information
on the sizes of the elements of the uncompiled configuration.
4.4.5 /STATISTICS
/STATISTICS
/NOSTATISTICS (default)
The /STATISTICS qualifier instructs CNBUILD to output information
on how much of the various tables in the compiled configuration
were actually used to store data. These numbers give a rough
measurement of the efficiency of the compilation, and may
indicate whether or not an additional rebuild with the /OPTION_
FILE qualifier is needed.
4.5 – Examples
1.$ PMDF CNBUILD
$ INSTALL REPLACE PMDF_CONFIG_DATA
Above are the standard commands used to regenerate and
reinstall a compiled configuration. After compiling the
configuration, install it with the DCL INSTALL command and
then restart any programs which may need to reload the new
configuration. (For instance, it is necessary to restart the
PMDF multithreaded TCP SMTP server with the "PMDF RESTART SMTP"
command after recompiling the configuration.)
2.$ PMDF CNBUILD/NOIMAGE_FILE/OPTION_FILE/MAXIMUM
$ PMDF CNBUILD
$ INSTALL REPLACE PMDF_CONFIG_DATA
Use the sequence of three commands shown above when you
encounter the infamous "No room in table" error message.
5 – CONFIGURE
Create basic PMDF configuration files.
Syntax
PMDF CONFIGURE [product-or-component-name]
5.1 – Restrictions
To write "live" files, must have write access to the PMDF table
directory, PMDF_TABLE:.
5.2 – Parameters
product-or-component-name
The product name, i.e., MTA, ACCESS, FAX, FIREWALL, LAN, MB400,
MR, X400, or XGS, or the component name, i.e., DISPATCHER,
MAILBOX_SERVERS, or QUEUES. This parameter need not be specified
if the product is PMDF or PMDF-MTA.
5.3 – Description
CONFIGURE is an interactive command line utility for creating
basic PMDF configuration files. Note that there is also a
newer, web-based configuration utility for generating PMDF-
MTA (including mailbox servers), PMDF-LAN, and PMDF-XGS
configurations; see the PMDF Installation Guide for additional
details.
Most fundamentally, it is used to generate a basic PMDF
configuration file, alias file, mappings file, and
security configuration file, usually PMDF_TABLE:PMDF.CNF,
PMDF_TABLE:ALIASES., PMDF_TABLE:MAPPINGS., and PMDF_
TABLE:SECURITY.CNF, respectively. The utility prompts for
answers to questions regarding a site's node names and network
connectivity, and then creates the basic files in accord with the
answers to those questions.
The utility is also used to configure optional PMDF layered
products, and to configure various PMDF components.
This utility is usually run when PMDF is first installed. It
may also be convenient to run this utility, rather than manually
editing the PMDF configuration file, after changes in a site's
network configuration, such as the addition or removal of nodes,
or a change in the status of a site's access to a larger network.
Although by default this utility writes "live" files, overwriting
any existing configuration and alias file, different file names
may be specified, which can be useful for comparison or testing
purposes. Note that since this utility does not take into account
any pre-existing configuration file and alias file, any manual
changes made to such files must be re-entered into the new files.
For a complete description and examples of using this utility to
create configuration files for PMDF products or components, see
the PMDF Installation Guide, OpenVMS Edition.
6 – CONVERT
Convert a file.
Syntax
CONVERT input-file output-file
Command Qualifiers Defaults
/CHECKSUM /NOCHECKSUM
/DEBUG /NODEBUG
/FTYPE=type See text
/FCREATOR=creator See text
/FDL=fdl-spec None
/LINE_LENGTH=value /LINE_LENGTH=0
/MPARAMETERS=param-list See text
/MSUBTYPE=type See text
Positional Qualifiers Defaults
/CHARSET=charset None
/ENCODING=encoding None
/FILENAME=name /NOFILENAME
/HEADER /NOHEADER
/MODE=mode None
/PARAMETERS=param-list None
/SUBTYPE=subtype None
/TYPE=type None
6.1 – Restrictions
None.
6.2 – Parameters
input-file[,...]
A comma separated list of one or more text files to be converted.
All specified input files are read and merged into a single
output file.
output-file
The name of the output file to write.
6.3 – Description
CONVERT is a utility to convert files from one format to another.
6.4 – Command Qualifiers
6.4.1 /CHARSET
/CHARSET=charset
Specify the character set for the part.
6.4.2 /CHECKSUM
/CHECKSUM
/NOCHECKSUM (default)
6.4.3 /DEBUG
/DEBUG
/NODEBUG (default)
Control whether or not to display debug output.
6.4.4 /ENCODING
/ENCODING=encoding
Specify the encoding used for the part.
6.4.5 /FILENAME
/FILENAME=name
/NOFILENAME (default)
Specify a file name to include in the MIME labelling.
6.4.6 /FTYPE
/FTYPE=type
6.4.7 /FCREATOR
/FCREATOR=creator
6.4.8 /FDL
/FDL=fdl-spec
6.4.9 /HEADER
/HEADER
/NOHEADER (default)
Specify whether MIME headers are present or should be written
to the part. The default is /NOHEADER, MIME headers are neither
looked for nor generated.
6.4.10 /LINE_LENGTH
/LINE_LENGTH=value
6.4.11 /MODE
/MODE=mode
Specify the conversion mode. The mode value may be any of
CRATTRIBUTE, LFATTRIBUTE, CRLFATTRIBUTE, BLOCK, RECORD, TEXT,
POSTSCRIPT, ENRICHED, FLOWED, HTML, DOUBLEAPPLE, SINGLEAPPLE,
BINHEX, or VIRUSSCAN.
6.4.12 /MPARAMETERS
/MPARAMETERS=param-list
6.4.13 /MSUBTYPE
/MSUBTYPE=type
6.4.14 /PARAMETERS
/PARAMETERS=param-list
6.4.15 /SUBTYPE
/SUBTYPE=subtype
Specify the MIME subtype.
6.4.16 /TYPE
/TYPE=type
Specify the MIME type.
6.5 – Examples
1.$ PMDF CONVERT A.MACB/MODE=MACBINARY A.SINGLE/MODE=SINGLE
The command above is an example of converting a file from
Macbinary format to Applesingle format; that is, this is an
example of extracting just the data fork from the Macbinary
format file.
7 – COUNTERS
PMDF has facilities to collect and monitor channel counters based
upon the Mail Monitoring MIB, RFC 1566. These counters tabulate
on a per channel basis the twelve items described in Channel
Counters.
Table 1 Channel Counters
Field name Description
RECEIVED_MESSAGES The number of messages enqueued to the channel
SUBMITTED_ The number of messages enqueued by the channel
MESSAGES
STORED_MESSAGES The total number of messages currently stored
for the channel
DELIVERED_ The number of messages dequeued by the channel
MESSAGES
RECEIVED_VOLUME The volume of messages enqueued to the channel
as measured in PMDF blocks
SUBMITTED_VOLUME The volume of messages enqueued by the channel
as measured in PMDF blocks
STORED_VOLUME The volume of messages currently stored for
the channel as measured in PMDF blocks
DELIVERED_VOLUME The volume of messages dequeued by the channel
as measured in PMDF blocks
RECEIVED_ The total number of recipients specified in
RECIPIENTS all messages enqueued to the channel
SUBMITTED_ The total number of recipients specified in
RECIPIENTS all messages enqueued by the channel
STORED_RECIPIENTS The total number of recipients specified in
all messages currently stored for the channel
DELIVERED_ The total number of recipients specified in
RECIPIENTS all messages dequeued by the channel
__________________________________________________________________
A PMDF block is, by default, 1024 bytes. However, this size
may vary from system to system. The size of a PMDF block is
controlled with the BLOCK_SIZE PMDF option.
It is important to note that these counters generally need to
be looked at over time noting the minimum values seen. The
minimums may actually be negative for some channels. Such a
negative value merely means that there were messages queued for
a channel at the time that its counters were zeroed (e.g., the
cluster-wide database of counters created). When those messages
were dequeued, the associated counters for the channel were
decremented therefore leading to a negative minimum. For such
a counter, the correct "absolute" value is the current value
less the minimum value that counter has ever held since being
initialized.
7.1 /CLEAR
Clear the node-specific, in-memory cache of counters.
Syntax
COUNTERS/CLEAR
Command Qualifiers Defaults
/ASSOCIATIONS /ASSOCIATIONS
/CHANNELS /CHANNELS
7.1.1 – Restrictions
WORLD privilege is required to in order to use this utility.
If the in-memory section did not already exist (so that a new
one must be created), then SYSGBL and PRMGBL privileges are
also required. If a new cluster-wide, on-disk database must be
created, then privileges sufficient to create a file in the PMDF_
TABLE: directory are required.
7.1.2 – Parameters
None.
7.1.3 – Description
The PMDF COUNTERS/CLEAR command is used to clear the values in
the node-specific, in-memory section of counters. The command
creates the node-specific, in-memory section of association and
channel counters if it does not already exist. Then it zeros all
fields in the in-memory section. Note that the counters will be
zeroed without first merging their values into the cluster-wide
database of channel counters. If a cluster-wide, on-disk database
does not already exist, a new one will be created. Finally, the
fields in the on-disk database for numbers of stored messages,
message recipients, and message volumes are set based on the
entries in the PMDF queue cache database.
Either the association counters, or channel counters, or both,
may be cleared. The default is to clear both association and
channel counters.
If you want to update the on-disk database with the old in-memory
values before clearing them, then you should issue a
$ PMDF COUNTERS/SYNCHRONIZE
command before issuing the PMDF COUNTERS/CLEAR command.
You may also want to issue a
$ PMDF CACHE/SYNCHRONIZE
command before issuing the PMDF COUNTERS/CLEAR command, to ensure
that the queue cache database values (which will be used to set
some of the on-disk database values) are themselves current.
7.1.4 – Command Qualifiers
7.1.4.1 /ASSOCIATIONS
/ASSOCIATIONS (default)
/NOASSOCIATIONS
This qualifier specifies whether to clear the in-memory cache of
association counters.
7.1.4.2 /CHANNELS
/CHANNELS (default)
/NOCHANNELS
This qualifier specifies whether to clear the in-memory cache of
channel counters.
7.2 /CRDB
Create a cluster-wide, on-disk database of association and
channel counters.
Syntax
COUNTERS/CRDB
Command Qualifiers Defaults
None. None.
7.2.1 – Restrictions
Requires sufficient privileges to create a file in the PMDF_
TABLE: directory; if a in-memory section must also be created,
SYSGBL and PRMGBL privileges are required.
7.2.2 – Parameters
None.
7.2.3 – Description
A new, cluster-wide database of channel counters is created
with the PMDF COUNTERS/CRDB command. The new database will have
all counters zeroed except for the counts of stored messages,
recipients, and message volumes for each channel. Those counts
will be determined by the entries in the PMDF queue cache
database. In addition, if an in-memory section for association
and channel counters on this node does not already exist, it will
be created as well.
Once an on-disk database exists, its values may be updated
from the node-specific, in-memory sections by using the PMDF
COUNTERS/SYNCRONIZE command.
Note that since some initial database values will be set based on
entries in the PMDF queue cache database, you may want to issue a
$ PMDF CACHE/SYNCHRONIZE
command before issuing the PMDF COUNTERS/CRDB command, to ensure
that the queue cache database values are themselves current.
7.3 /SHOW
Display the contents of the cluster-wide database of counters.
Syntax
COUNTERS/SHOW
Command Qualifiers Defaults
/ASSOCIATIONS /ASSOCIATIONS
/CHANNELS /CHANNELS
/HEADERS /HEADERS
/OUTPUT=file-spec None
/TODAY /TODAY
7.3.1 – Restrictions
Normally WORLD privilege is all that is required. But if the
cluster-wide, on-disk database must be created, then privileges
sufficient to create a file in the PMDF_TABLE: directory are
required; or if the node-specific, in-memory section must be
created, then SYSGBL and PRMGBL privileges are required.
7.3.2 – Description
The contents of the cluster-wide association and channel counters
database may be displayed with the PMDF COUNTERS/SHOW command.
A PMDF COUNTER/SYNCHRONIZE command is implicitly performed by
this command; the database contents are synchronized with the
in-memory section(s) before being displayed.
Note that as part of the implicit PMDFCOUNTERS/SYNCHRONIZE
operation, if the cluster-wide, on-disk database does not already
exist, the PMDF COUNTERS/SHOW command will create it. And if
the node-specific, in-memory cache of counters does not already
exist, the PMDF COUNTERS/SHOW command will create it too.
7.3.3 – Command Qualifiers
7.3.3.1 /ASSOCIATIONS
/ASSOCIATIONS (default)
/NOASSOCIATIONS
This qualifier specifies whether to show the in-memory cache of
association counters.
7.3.3.2 /CHANNELS
/CHANNELS (default)
/NOCHANNELS
This qualifier specifies whether to show the in-memory cache of
channel counters.
7.3.3.3 /HEADERS
/HEADERS (default)
/NOHEADERS
Controls whether or not a header line describing each column in
the table of counters is output.
7.3.3.4 /OUTPUT
/OUTPUT=file-spec
Direct the output to the specified file. By default the output
appears on your display.
7.3.3.5 /TODAY
/TODAY (default)
/NOTODAY
This qualifier specifies whether to show PMDF's count for the
number of messages processed this day. Note that as discussed in
the PMDF System Manager's Guide, PMDF counters are intentionally
designed to be lightweight and as such by design, the value shown
becomes increasingly likely to be an undercount as message volume
increases. So high volume sites (sites with an unlimited volume
PMDF license) in particular should not place too much credence in
the reported number.
7.3.4 – Examples
To display the counters for all channels and associations,
issue the command
$ PMDF COUNTERS/SHOW
4263 messages processed so far today
30000 messages per day are permitted by your license
Channel Messages Recipients Blocks
------------------------ ---------- ---------- ----------
l
Received 3863 3881 25786
Stored 89 89 460
Delivered 3876 3894 26018 (3859 first time)
Submitted 99 114 1611
Attempted 17 17 25
Rejected 0 0 0
Failed 1 1 6
Queue time/count 29794837/3877 = 7.68502E3
Queue first time/count 18904343/3860 = 4.8975E3
tcp_local
Received 208 217 4153
Stored 3 3 9
Delivered 200 212 2461 (197 first time)
Submitted 4053 4078 25919
Attempted 7 7 0
Rejected 46 68 0
Failed 14 14 1695
Queue time/count 1106266/211 = 5.24297E3
Queue first time/count 455897/208 = 2.19181E3
Current In Assocs 127
Total In Assocs 1056
Total Out Assocs 132
Rejected Out Assocs 11
Failed Out Assocs 1
Channel Timestamp Association
------------ ------------ -------------------------------------------------
tcp_local 01-Feb 00:27 TCP|192.160.253.70|25|192.160.253.66|3465
tcp_local 25-Jan 00:31 TCP|192.160.253.70|25|192.160.253.66|3496
tcp_local 26-Jan 14:50 TCP|192.160.253.70|25|192.160.253.66|2086
tcp_local 05-Feb 12:23 TCP|192.160.253.70|25|192.160.253.66|3593
tcp_local 01-Feb 00:34 TCP|192.160.253.70|25|192.160.253.66|3581
...
$
7.4 /SYNCHRONIZE
Synchronize each of the node-specific, in-memory caches of
channel counters with the cluster-wide database.
Syntax
COUNTERS/SYNCHRONIZE
Command Qualifiers Defaults
None. None.
7.4.1 – Restrictions
Normally, just WORLD privilege is required to use this utility.
However, if the node-specific, in-memory section must be created,
then SYSGBL and PRMGBL are required; or if the cluster-wide,
on-disk database must be created, then privileges sufficient to
create a file in the PMDF_TABLE: directory are required.
7.4.2 – Parameters
None.
7.4.3 – Description
To synchronize each of the node-specific, in-memory caches of
channel counters with the cluster-wide database, issue a PMDF
COUNTERS/SYNCHRONIZE command. The command will not return control
back to you until all the caches have been synchronized. The
PMDF COUNTERS/SYNCHRONIZE command signals each PMDF counters
synchronization process in the cluster-there should be one
such process on each node running PMDF. Note that on each node,
the synchronization can only be performed if the PMDF counters
synchronization process is running on that node.
Assuming that the PMDF counters synchronization process is
running on each node, then for each node the node-specific, in-
memory cache will be created, if it does not already exist. If
the cluster-wide, on-disk database does not exist, it will be
created. The in-memory cache values will be used to update the
on-disk database, and then the on-disk database values for stored
messages, recipients, and volume will be set by scanning the PMDF
queue cache database.
7.5 /TODAY
Display PMDF's count of the number of messages processed so far
today.
Syntax
COUNTERS/TODAY
Command Qualifiers Defaults
None. None.
7.5.1 – Restrictions
WORLD privilege is required.
7.5.2 – Description
PMDF's count of the number of messages processed so far today may
be displayed with the PMDF COUNTERS/TODAY command.
Note that as discussed in the PMDF System Manager's Guide, PMDF
counters are intentionally designed to be lightweight and as
such by design, the value shown becomes increasingly likely to
be an undercount as message volume increases. So high volume
sites (sites with an unlimited volume PMDF license) in particular
should not place too much credence in the reported number.
7.5.3 – Examples
To display PMDF's count of the number of messages processed
today, issue the command
$ PMDF COUNTERS/TODAY
4263 messages processed so far today
30000 messages per day are permitted by your license
$
8 – CRDB
CRDB is a utility used to create and update PMDF database files.
Syntax
PMDF CRDB input-file-spec[,...] output-database-spec
Command Qualifiers Defaults
/APPEND /NOAPPEND
/COUNT /COUNT
/DELETE /NODELETE
/DUMP See text
/DUPLICATES /NODUPLICATES
/EXCEPTION_FILE=file-spec /NOEXCEPTION_FILE
/EXCLUDE=(suffix1[,...]) See text
/FAST_LOAD /FAST_LOAD
/HUGE_RECORDS /NOHUGE_RECORDS
/LONG_RECORDS /NOLONG_RECORDS
/QUOTED /NOQUOTED
/REMOVE /NOREMOVE
/SCRATCH_DISK=device-spec See text
/STATISTICS /STATISTICS
/STRIP_COLONS /NOSTRIP_COLONS
/WRITE_CHECK /NOWRITE_CHECK
8.1 – Restrictions
None.
8.2 – Prompts
Input file: input-file-spec[,...]
Output database: output-database-spec
8.3 – Parameters
input-file-spec[,...]
A comma separated list of one or more text files containing the
entries to be placed into the database. Each line of the text
files must correspond to a single entry. All specified input
files are read and merged into a single output database.
output-database-spec
The name of the database file to write the database to. This may
be a new or existing database. If the /NOFAST_LOAD qualifier is
specified and the database already exists no new database will be
created; records will simply be added to the existing database.
8.4 – Description
CRDB is a utility to create and or update PMDF database files.
CRDB simply converts a plain text file into PMDF database records
and either builds a new database or updates the records in an
existing database.
In general, each line of the input file must consist of a left
hand side and a right hand side. The two sides are separated
by one or more spaces or tabs. The left hand side is limited
to 32 characters in a short database (the default variety),
80 characters in a long database, or 252 characters in a huge
database. The right hand side is limited to 80 characters in
a short database, 256 characters in a long database, or 1024
characters in a huge database. Spaces and tabs may not appear
in the left hand side (but see the description of the /QUOTED
qualifier below).
The format of the input files is described in the PMDF System
Manager's Guide.
8.5 – Command Qualifiers
8.5.1 /APPEND
/APPEND
/NOAPPEND (default)
If /APPEND is specified, the database is loaded with RMS $PUT
operations. If the database already exists it will be appended
to; if not, a new database will be created. Duplicate keys (left
hand sides) will replace existing entries in databases created
with /NODUPLICATE, so the last occurrence of a given key will be
the one that is used.
/NOAPPEND is a synonym for for /FAST_LOAD.
8.5.2 /COUNT
/COUNT (default)
/NOCOUNT
Controls whether or not a count is output after each group of 100
input lines are processed. This qualifier only applies if /APPEND
is in effect; it is ignored in /FAST_LOAD mode.
8.5.3 /DELETE
/DELETE
/NODELETE (default)
If /DELETE is specified, the given entries are deleted from
the database. The input file should contain one key value per
line for the entries to delete. The data portion of the line
is ignored. If the database was created with /DUPLICATE, for
multiple entries with the same key value, only the first entry is
deleted.
8.5.4 /DUMP
PMDF CRDB/DUMP is a synonym for PMDF DUMPDB. It is used to cause
PMDF CRDB to dump an existing database to a flat text file-or
to SYS$OUTPUT if no output file is specified. When /DUMP is
specified, the parameters to PMDF CRDB are interpreted as the
input database specification, and optionally a flat text file
to which to write the output. No other qualifiers are valid when
/DUMP is specified.
8.5.5 /DUPLICATES
/DUPLICATES
/NODUPLICATES (default)
Controls whether or not duplicate records are allowed in the
output file. Currently duplicate records are of use only in
the domain databases (rewrite rule databases) and databases
associated with the directory channel.
8.5.6 /EXCEPTION_FILE
/EXCEPTION_FILE=file-spec
/NOEXCEPTION_FILE
CRDB may encounter records that cannot be loaded into the
database. This usually means that in /FAST_LOAD mode these
records had keys (left hand sides) that were duplicates of other
keys previously encountered in the input file. When /FAST_LOAD
is used (the default), these exception records can optionally
be written to a separate output file for later examination. The
/EXCEPTIONS_FILE qualifier controls the writing of this file.
Note that the lines in this file are not plain text; they are
formatted as database entries.
8.5.7 /EXCLUDE
/EXCLUDE=(suffix[,...])
Any left-hand side entries ending with the string suffix will be
excluded from the database. By default no entries are omitted.
8.5.8 /FAST_LOAD
/FAST_LOAD (default)
/NOFAST_LOAD
This qualifier controls whether or not the fast load algorithm
is used. If /FAST_LOAD is specified, callable CONVERT is used
to build the database. A new database is always created. If
records with duplicate keys (left hand sides) are encountered
in the input stream and /NODUPLICATE is in effect, the specific
occurrence that will be used is unpredictable.
/NOFAST_LOAD is a synonym for for /APPEND.
8.5.9 /LONG_RECORDS
/LONG_RECORDS
/NOLONG_RECORDS (default)
/HUGE_RECORDS
/NOHUGE_RECORDS
These qualifiers control the size of the output records. By
default left hand sides are limited to 32 characters and right
hand sides are limited to 80 characters. If /LONG_RECORDS is
specified the limits are changed to 80 and 256, respectively. If
/HUGE_RECORDS is specified the limits are changed to 252 and 1024
characters, respectively. Currently, /HUGE_RECORDS databases are
supported only for the alias database.
8.5.10 /QUOTED
/QUOTED
/NOQUOTED (default)
This qualifier controls the handling of quotes. Normally CRDB
pays no particular attention to double quotes. If /QUOTED is
specified, CRDB matches up double quotes in the process of
determining the break between the left and right hand sides of
each input line. Spaces and tabs are then allowed in the left
hand side if they are within a matching pair of quotes. This
is useful for certain kinds of databases, where spaces may form
a part of the database keys. Note: The quotes are not removed
unless the /REMOVE qualifier is also specified.
8.5.11 /REMOVE
/REMOVE
/NOREMOVE (default)
This qualifier controls the removal of quotes. If CRDB is
instructed to pay attention to quotes, the quotes are normally
retained. If /REMOVE is specified, CRDB removes the outermost set
of quotes from the left hand side of each input line. Spaces and
tabs are then allowed in the left hand side if they are within
a matching pair of quotes. This is useful for certain kinds of
databases, where spaces may form a part of the database keys.
Note: /REMOVE is ignored if /QUOTED is not in effect.
8.5.12 /SCRATCH_DISK
/SCRATCH_DISK=device-spec
CRDB uses one or two temporary scratch files to build the
database if /FAST_LOAD is used (the default). The /SCRATCH_DISK
qualifier can be used to specify the device on which these files
are created. It may be useful to place these files in a specific
place, either to improve performance or to get around protection
and quota limitations.
If /SCRATCH_DISK is not specified, the temporary files will be
created on the disk specified by PMDF_SCRATCH. If PMDF_SCRATCH
is not defined, the temporary files will be created on the disk
specified by SYS$SCRATCH. If SYS$SCRATCH is not defined, the
temporary files will be created on whatever disk the current
default directory is on.
8.5.13 /STATISTICS
/STATISTICS (default)
/NOSTATISTICS
Controls whether or not some simple statistics are output by
CRDB, including number of entries (lines) converted, number of
exceptions (usually duplicate records) detected, and number of
entries that could not be converted because they were too long
to fit in the output database. /NOSTATISTICS suppresses output of
this information.
8.5.14 /STRIP_COLONS
/STRIP_COLONS
/NOSTRIP_COLONS (default)
The /STRIP_COLONS qualifier instructs CRDB to strip a trailing
colon from the right end of the left hand side of each line it
reads from the input file. This is useful for turning former
alias file entries into an alias database.
8.5.15 /WRITE_CHECK
/WRITE_CHECK
/NOWRITE_CHECK (default)
Controls whether or not RMS write checking is enabled on the
output database. This only applies to /FAST_LOAD mode; this
qualifier is ignored otherwise.
8.6 – Examples
The following commands may be used to create an alias database
with "long" record entries; note that the creation is performed
in a two-step process using a temporary database to minimize
any window of time, such as during database generation, when
the database would be locked and inaccessible to PMDF:
$ PMDF CRDB/LONG_RECORDS PMDF_TABLE:aliases.txt aliases.tmp
$ RENAME aliases.tmp PMDF_ALIAS_DATABASE
9 – DB
DB is a utility with which to create and manipulate an alias
database. Alias databases can either be a personal alias database
(pointed at by the logical PMDF_PERSONAL_ALIAS_DATABASE) or a
system alias database. As the format of PMDF alias database is
used for other PMDF databases (e.g., PMDF_DOMAIN_DATABASE), DB
can also be used to manipulate non-alias databases.
DB is invoked by the command
$ PMDF DB
and can be exited by either typing Control-Z or issuing the quit-
program command.
9.1 – Aliases
Aliases have multiple uses with e-mail. Individual users
typically use aliases as abbreviations. For instance, rather
than remember John Doe's full e-mail address, an alias JD can
be created so that mail sent to the address JD is properly sent
using John Doe's full address (e.g., JD573@VAXC.EXAMPLE.COM).
System managers often use aliases in order to create valid mail
addresses for non-existent users. For instance, an alias named
Postmaster might be created and equated with the username SYSTEM
so that incoming network mail for the user Postmaster is routed
to the SYSTEM account. These are just two examples of the many
practical uses of aliases.
The process of interpreting an alias is called "alias expansion".
In the two examples above, the aliases JD and Postmaster expand,
respectively, to JD573@VAXC.EXAMPLE.COM and SYSTEM.
In this documentation, the expansion of an alias is represented
with the following notation
alias-name - > alias-value
For example, John - > JD573@VAXC.EXAMPLE.COM.
PMDF alias names are "case insensitive". This means that the
alias names jd, JD, jD, and Jd are all considered to be identical
by PMDF; the case (upper versus lower case) of the individual
characters in an alias name is irrelevant to PMDF. However, PMDF
does preserve the case of alias values.
PMDF aliases can expand to:
- an address: JD - > JD573@VAXC.EXAMPLE.COM,
- a list of addresses: STAFF - >
BOB@EXAMPLE.COM,SUE@EXAMPLE.COM,
- other aliases: JD - > JOHND - > JD573@VAXC.EXAMPLE.COM,
- a list of aliases: COMPANY - > STAFF,ADMIN,FACULTY, or
- a mixture of addresses and aliases: LIST - >
STAFF,BOB@EXAMPLE.COM.
Note that in the above example, it is not clear whether or not
the expanded value of an alias is another alias or not; i.e.,
in "JD - > JOHND", JOHND could have been either an alias or
a legitimate username. PMDF always starts by assuming that an
address without any domain part (e.g., @EXAMPLE.COM) is an alias
and attempts to expand it. When expanding an alias, PMDF first
tries to look up the alias in the user's personal alias database
and, if the alias is not found there, then PMDF consults system-
level alias sources. After expanding an alias once, PMDF then
tries to expand the result (or results in the case of a list).
This expansion process is repeated until no more expansions are
possible at which point the results are all assumed to be real
mail addresses and not aliases.
By default, alias names can be from 1 to 80 characters long and
their expansion values 0 to 252 characters. This corresponds
to a "long" alias database file which is the type of file DB
normally creates. When a "huge" alias database file is used, the
maximum lengths of the alias names and their expansion values
are, respectively, 80 and 1024 characters. When a "short" alias
database file is used, the maximum lengths of the alias names and
their expansion values are, respectively, 32 and 80 characters.
Note that by default the system alias database created with the
CRDB utility is a short alias database.
When specifying mail addresses within VMS MAIL or DECwindows
MAIL, PMDF aliases must be specified using the format IN%alias-
name. For example, mail addressed as follows
MAIL> SEND
To: IN%JD
would use PMDF's alias for JD, if any exists. From PMDF MAIL, you
can simply use JD rather than IN%JD.
System managers can find it useful to establish forwarding for
commonly used system wide aliases. For example,
MAIL> SET FORWARD/USER=POSTMASTER IN%Postmaster
with Postmaster a PMDF alias (in the system alias database) which
points to the user or users who should receive mail intended for
the system's postmaster. When this type of forwarding has been
set up, users can then just send mail to the (fictitious) user
POSTMASTER,
MAIL> SEND
To: POSTMASTER
and PMDF will route it to the proper individuals.
9.2 – Public Aliases
If you want, other users can use aliases which you establish.
This is particularly useful when you want to set up a mailing
list which you want other people to post messages to. (See the
Mailing lists topic for details on settingup a mailing list.) You
allow other people to use specific aliases of yours by declaring
those aliases to be public. This is done with the "attributes"
parameter of the "set" command described in Set.
For example, let us assume that the user sue@example.com has
already created an alias named PIZZA-ORDER. Then, to declare
PIZZA-ORDER to be a public alias, Sue would use the command
db> set pizza-order public
Other users can then use this alias by sending mail to sue+pizza-
order@example.com.
9.3 – Mailing Lists
With PMDF DB you can create and maintain your own mailing lists.
A mailing list is merely a collection of e-mail addresses with
which you associate an alias. Or, looked at a little differently,
a mailing list is an alias which expands to a list of e-mail
addresses. When you address a mail message to the alias, it
actually goes to all of the addressees listed in the mailing
list. The act of sending a mail message to a mailing list is
referred to as "posting".
A mailing list is created in three steps:
1. Create a text file containing the list of e-mail addresses
associated with the mailing list. Each address should be on a
separate line in the file. The file itself is referred to as a
"mailing list file"; the addresses in the file are the mailing
list's membership.
2. Set the protection of the mailing list file so that it is
world readable
$ SET PROTECTION=(W:R) filename
Here, FILENAME is the name of the mailing list file created in
Step 1.
3. Choose an alias name, ALIAS-NAME , to associate with the
mailing list. Then, in PMDF DB, issue the commands
db> add alias-name "<filename"
db> set alias-name public
FILENAME should include a full path specification including
the disk and directory name.
After these steps have been taken, the mailing list is set up and
ready to use.
For example, suppose the user sue@example.com wants to set up a
mailing list named sample-list. The members of the mailing list
will be bob@example.com, judy@example.com, ralph@sample.com,
and sue@example.com. Sue first creates the mailing list file
D1:[SUE]SAMPLE.DIS which contains the four lines
bob@example.com
judy@example.com
ralph@sample.com
sue@example.com
She then makes sure the distribution file is world readable by
explicitly setting its protection with the DCL SET PROTECTION
command,
$ SET PROTECTION=(W:R) D1:[SUE]SAMPLE.DIS
Finally, Sue establishes the public alias FOO-LIST as follows:
$ PMDF DB
db> add foo-list "<d1:[sue]sample.dis"
db> set foo-list public
db> show foo-list attributes
Key Value
----------- -----------------------------
foo-list <d1:[sue]sample.dis
Attributes: public,no-expand,block-receipts,mail-address
[1 entries shown]
db>
By declaring the list to be public, Sue is allowing other
people to post messages to this mailing list. They should do
so by addressing their messages to sue+sample-list@example.com.
Messages so addressed will then be received by the members of the
list as specified by the contents of the file D1:[SUE]SAMPLE.DIS.
At any time you can add or remove members from the mailing list.
You do so by simply editing the mailing list file removing or
adding addresses from or to it.
As another example, mailing lists defined in LDAP can also be
used, for example:
db> add ldap_all_users <"""ldap:///dc=example,dc=edu?mail?sub?(cn=*)"""
Note the three double-quotes around the LDAP URL. This is
required.
9.4 – Advanced Mailing Lists
PMDF DB allows you to control who can or cannot post to mailing
lists as well as associate 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"
These items are described in the subtopics "Named parameters" and
"Positional parameters".
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 the list address (or some other address).
9.4.1 – Named Parameters
Named-parameters are used to associate options with a mailing
list. There can be zero or more of named parameters, each
separated by commas, and they must appear before any positional
parameters. The general syntax of a named-parameter is:
[name] value
Here 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:
AUTH_LIST
AUTH_LIST is used to specify a list of addresses that are allowed
to post to the mailing list. The VALUE item must be the full file
path specification for a world readable file containing the list
of addresses allowed to post to the list. When someone attempts
to post a message to the mailing list, PMDF will attempt to match
their address against the addresses in the list; if no match
occurs, the attempted posting will be sent to the owner of the
list.
CANT_LIST has the opposite effect as AUTH_LIST: it supplies the
full file path specification of a world readable file containing
a list of addresses which cannot post to the list.
One common use of this facility is to restrict a list so that
only list members can post. This can be done by specifying the
same file as both the mailing list file and the AUTH_LIST file.
For example, assuming that the mailing list is named foo-list and
the associated file is D1:[SUE]SAMPLE.DIS, the alias declaration
would be
db> add foo-list "<d1:[sue]sample.dis, [auth_list] d1:[sue]sample.dis"
BLOCKLIMIT
The BLOCKLIMIT and LINELIMIT parameters can be used to limit
the size of messages that can be posted to the list. The VALUE
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 can be posted to the list (apart, that is, from any
system wide limits).
DELAY_NOTIFICATIONS
The DELAY_NOTIFICATIONS named parameter requests that NOTARY
delay notifications be sent for mailing list postings; the
NODELAY_NOTIFICATIONS named parameter requests that NOTARY delay
notifications not be sent for mailing list postings. The VALUE
specification is currently ignored and should always be NONE.
HEADER_ADDITION
HEADER_ADDITION can 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 public 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+listname@example.com>
List-Owner: <mailto:amy@example.com?Subject=listname>
List-Archive: <mailto:amy@example.com?subject=request%20listname%20archive>
IMPORTANCE
The IMPORTANCE, PRECEDENCE, PRIORITY, and SENSITIVITY named
parameters are used to generate respective headers on messages
posted to the list; the VALUE specification is inserted on the
respective header line.
MODERATOR_ADDRESS
The MODERATOR_ named parameters are used to establish a moderated
mailing list. All postings to the list not originating from a
moderator are sent to the list's moderator. The address of the
moderator must be specified with the MODERATOR_ADDRESS named
parameter. The moderator address determines where moderator mail
is sent when someone other than the moderator posts. The value of
that named parameter is the moderator's address. For example,
db> add test-list "<d1:[bob]test.dis, [MODERATOR_ADDRESS]
bob@example.com"
When there can be multiple moderator addresses (for instance,
both robert@a1.example.com and bob@example.com) use MODERATOR_
LIST to specify all addresses from which postings should be
passed directly to the list and not sent to the list's moderator.
MODERATOR_LIST specifies the name of a file containing a list of
moderator addresses.
If a MODERATOR_LIST parameter is used, thereby specifying who
can post directly to the list, then a MODERATOR_ADDRESS parameter
should also be present to specify the address to which to send
postings not from any moderator.
The use of the MODERATOR_ADDRESS parameter alone, without the
MODERATOR_LIST parameter, is equivalent to using MODERATOR_
ADDRESS and a MODERATOR_LIST consisting of just the one moderator
address.
Note that one use of MODERATOR_ADDRESS and MODERATOR_LIST is to
set up a list wherein anyone on the list can post directly, but
attempts to post by addresses not subscribed to the list will be
referred to a moderator. For instance,
db> add mem-list "<d1:[bob]mem-list.dis,
[MODERATOR_ADDRESS]bob@example.com,
[MODERATOR_LIST] d1:[bob]mem-list.dis"
SEQUENCE_PREFIX
The SEQUENCE_PREFIX and SEQUENCE_SUFFIX named parameters request
that a sequence number be prepended or appended to the Subject:
lines of messages posted to the list. The VALUE 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 of SEQUENCE_PREFIX, or appended, in the case of SEQUENCE_
SUFFIX, to the message's Subject: 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, the SEQUENCE_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. The
VALUE item is currently ignored and should always be NONE.
IMPORTANT NOTE
To ensure that sequence numbers are only incremented for
successful postings, a SEQUENCE_PREFIX or SEQUENCE_SUFFIX
named parameter should always appear as the last named
parameter; that is, if other named parameters are also being
used, the SEQUENCE_ named parameter should appear at the end
of the list of named parameters.
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. A PMDF user
account must exist for sequence number files in personal alias
databases to work properly. If your system administrators have
not created a PMDF user account, then you will not be able to use
this sequence numbering facility.
To create the file SEQ-FILE-SPEC with the proper attributes and
access permissions for use as a sequence number file, issue the
command:
$ CREATE/FDL=PMDF_COM:sequence_number.fdl seq-file-spec
TAG
The TAG named parameter can be used to prefix specified text to
the Subject: header of posted messages. The VALUE item should be
the string to be added.
USERNAME
The USERNAME named parameter can be used to set the "username"
that PMDF will consider to "own" these mailing list messages.
For instance, the PMDF QM utility will allow that username to
inspect and bounce messages in the queue resulting from expansion
of this mailing list. The VALUE item should be the username of
the account to "own" the mailing list postings. Note that the
username specified will be forced to uppercase.
9.4.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 foo-list "<d1:[sue]sample.dis, *, *, sue@example.com"
Finally, to make the use of a positional parameter conditional,
end the parameter value with an asterisk. In this case the
value associated with the parameter will only be used if the
corresponding message header line is not present in the message
being posted to the list. (The asterisk will not appear in the
message header should the parameter take effect.)
Without further ado, the positional parameters are:
error-return-address
ERROR-RETURN-ADDRESS specifies an address to replace the
message's regular envelope From: address as well as an address
to be inserted into the header as an Errors-to: address. This
header line is not generated if this address is not specified.
reply-to-address
The REPLY-TO-ADDRESS parameter specifies an address to be used as
a Reply-to: address.
errors-to-address
The ERRORS-TO-ADDRESS parameter specifies an address to be placed
on the Errors-to: header, if this address should be different
from the ERROR-RETURN-ADDRESS that is used as the envelope From:
address.
warnings-to-address
The WARNINGS-TO-ADDRESS parameter specifies an address to be
placed on the Warnings-to: header line. This header line is not
generated if this address is not specified.
comments
The COMMENTS parameter specifies a string to be placed in a
Comments: header line. This header line will add to any Comments:
header lines already present in the message being posted to the
list.
9.4.3 – Examples
In this example, the user sue@example.com sets up a mailing
list named sample-list. The mailing list file is the file
D1:[SUE]SAMPLE.DIS and its contents are shown in below. The
commands used to set up the list are also shown below. Mail is
posted to the list by sending messages to the address sue+sample-
list@example.com.
The use of the AUTH_LIST named parameter in the alias declaration
restricts the list such that only members of the list can post
to it. Two positional parameters, ERRORS-TO-ADDRESS and COMMENTS,
are also specified. The ERRORS-TO-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 2 Sample Mailing list: the Mailing List File
bob@example.com
judy@example.com
ralph@example.com
sue@example.com
Example 3 Sample Mailing List: Declaring the Alias
$ SET PROTECTION=(W:R) D1:[SUE]SAMPLE.DIS
$ PMDF DB
db> add sample-list "<d1:[sue]sample.dis,[auth_list]d1:[sue]sample.dis,
sue@example.com,*,*,*,Sue's sample list"
db> set foo-list public
db> exit
9.4.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 might need to define the list in stages.
For instance, to define a list friends-list that has MODERATOR_
ADDRESS, MODERATOR_LIST, CANT_LIST, 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 "<d1:[alan]friends-list-stage2.dis,
[MODERATOR_ADDRESS] alan@example.com, [MODERATOR_LIST] d1:[alan]friends-list.dis,
[CANT_LIST] d1:[alan]bozos.dis, [USERNAME] ALAN"
db> add friends-list-stage2 "<d1:[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"
db> set friends-list public
where the D1:[ALAN]FRIENDS-LIST-STAGE2.DIS file contains just the
line:
friends-list
and the D1:[ALAN]FRIENDS-LIST.DIS contains all the actual
recipient addresses.
9.5 – Subaddresses
If you enter a subaddress into your personal alias database as
a public alias, then you can have mail sent to you with that
subaddress automatically forwarded. For example, suppose that
your address is bob@example.com and mail to you from the STAFF
mailing list arrives addressed to bob+staff@example.com. If
you create a public alias for staff then mail to the address
bob+staff@example.com will be forwarded to the address associated
with the alias. For instance, the commands
db> add staff bob+staff@naples.example.com
db> set staff public
cause mail sent to bob+staff@example.com to be forwarded to
bob+staff@naples.example.com.
9.6 – Operation of DB
DB prompts for input with a "db>" prompt. Typing a control-z at
any point while entering a command will cause DB to immediately
stop execution. The quit-program command will also cause DB to
stop execution.
The rest of the command line after the "PMDF DB" will be scanned
for DB commands separated by backslashes, \; i.e.,
$ PMDF DB command1\command2...
Each command specified will be executed from left to right as the
command line is scanned. Placing commands on the invocation line
is optional; if any are specified DB will terminate after the
last one has been executed. If no commands appear DB will operate
by prompting the user for commands.
When first invoked, DB will open your personal alias database
file which is pointed at by the logical PMDF_PERSONAL_ALIAS_
DATABASE. PMDF establishes this logical at system startup as a
system-wide logical equated with SYS$LOGIN:ALIASES.DAT. Users
wanting to store their alias files elsewhere must redefine this
logical for their process. Note, however, that relocation of this
file will interfere with the proper operation of PMDF's public
alias features.
While entering DB commands to the "db>" prompt, the following
command interaction features are available:
o Command abbreviation: commands can be abbreviated to their
simplest, unambiguous form.
o Command completion: use the <TAB> key to automatically
complete a command. If the command is ambiguous, it will be
completed to the fullest extent possible.
o Command querying: at any point while entering a command, a
question mark, ?, can be entered to obtain immediate help on
what to do next or what options are available.
o Input files: command files can be input and executed by using
the command <INFILE with INFILE the name of the file to input.
When two angle brackets are used, <<INFILE, the commands read
from the input file will not be echoed as they are executed.
o Logging: your session can be logged to an output file by using
the command >OUTFILE with OUTFILE the name of the log file.
All commands you enter and information printed by DB will be
written to the log file. To log only the commands you type,
use the command >>OUTFILE.
o DCL commands: typing a single dollar sign, $, will create and
attach you to a spawned subprocess. To issue a DCL command
from within DB, use the command $ DCL-COMMAND with DCL-COMMAND
the DCL command you want to execute.
9.7 – Commands
The following sections provide full descriptions of all DB
commands. The syntax of the add and modify commands differs
between DB's default mode of operation and the FAX mode invoked
with the fax-mode command. The FAX mode versions of these
commands are described under the fax-mode command description.
9.7.1 – Add
Syntax: add alias-name alias-value [attributes[,...]]
With the add command an alias and its expansion value can be
added to the database currently opened. If the alias expansion
value contains any spaces, commas, or upper case characters
which should not be converted to lower case, then the expansion
value must be enclosed in double quotes. Any double quotes in
the expansion value must be "doubled" (i.e., entered as two
consecutive double quotes). Examples of these two cases are:
db> add STAFF "BOB@EXAMPLE.COM,SUE@EXAMPLE.COM,TOM@EXAMPLE.COM"
db> add JOHN-FAX """/FN=x8645/AT=Jo Doe/""@text-fax.EXAMPLE.com"
db> add LDAP-ALL <"""ldap:///dc=example,dc=edu?mail?sub?(cn=*)"""
The first add command establishes the alias
STAFF - > BOB@EXAMPLE.COM,SUE@EXAMPLE.COM,TOM@EXAMPLE.COM
This alias required quoting since it included commas. The second
add command establishes the alias
JOHN-FAX - > "/FN=x8645/AT=John Doe/"@text-fax.example.com
and was enclosed in double quotes because of the space in it, and
the need to not convert John Doe's name to "john doe". Also,
the double quotes present in the alias expansion value were
doubled; that is, each double quote, ", was specified as two
double quotes, "".
The third add command establishes the alias
LDAP-ALL - > <"ldap:///dc=example,dc=edu?mail?sub?(cn=*)"
Which means that PMDF will expand the alias into a mailing list
by performing an LDAP query using the LDAP URL specified.
As another example, consider entering the alias JD with the
simple expansion value JD573@VAXC.EXAMPLE.COM:
db> add JD JD573@VAXC.EXAMPLE.COM
[Entry added to database]
db> show JD
Key Value
---------- -----------------------------
jd jd573@vaxc.example.com
[1 entry shown]
db>
Note that the alias name along with its translation value was
converted to lower case. DB will always translate the name of
an alias to lower case; PMDF does not do case sensitive alias
matching. To prevent the alias translation value from being
converted to lower case, enclose it in double quotes; e.g.,
db> modify JD "JD573@VAXC.EXAMPLE.COM"
[1 entry modified]
db> show JD
Key Value
---------- -----------------------------
jd JD573@VAXC.EXAMPLE.COM
[1 entry shown]
db>
The optional attributes parameter of the add command can be one
or more comma separated keywords selected from the list:
mail-address
Treat this alias as a mail address; i.e., set the mail address
attribute flag for this alias. Default when in either normal or
FAX mode. Not set when an "override on" command has been issued.
non-mail-address
Do not treat this alias as a mail address; i.e., clear the mail
address attribute flag for this alias.
fax-address
Treat this alias as a FAX address; i.e., set the FAX address
attribute flag for this alias. Default when in FAX mode. Not set
when an "override on" command has been issued.
non-fax-address
Do not treat this alias as a FAX address; i.e., clear the FAX
address attribute flag for this alias.
public
Mark this alias as being publicly accessible. Other users can
reference this alias by sending mail to an address of the form
USER+ALIAS@LOCAL-HOST. When this alias is used in outgoing mail
and is not expanded into component addresses, it will appear
in the message in the form USER+ALIAS@LOCAL-HOST. Public is the
opposite of the private attribute described below.
private
Mark this alias as being private. Other users will not be able
to use this alias. If this alias appears in outgoing mail (and
is not expanded into its component addresses) it will appear as
an unexpanded RFC 822 group address: ALIAS: ;. Private is the
opposite of the public attribute described above.
expand
This attribute forces the expansion of the alias into its
component addresses. All of the component addresses will be
listed in the message header as the alias expands.
no-expand
This attribute inhibits the expansion of the alias into its
component addresses. The alias itself will appear in the header
in some form; see the description of the public and private
attributes above for details on the forms the alias can take.
pass-receipts
This attribute enables the passage of requests for delivery and
read receipts through to all recipients as the alias is expanded.
Note that allowing the passage of such a request to a large
distribution list can result in a lot of return mail.
block-receipts
This attribute disables the passage of requests for delivery
and read receipts through to all recipients as the alias is
expanded. Requests for such receipts are honored at the time
the alias expands; in effect the alias is treated as the message
destination.
When an alias is entered with the add command at the "db>"
prompt, the alias will automatically be given the mail address
attribute unless an "override on" command has been previously
issued or the non-mail-address keyword is specified with the add
command.
9.7.2 – Close
Syntax: close
The close command closes the currently open alias database.
Use the open command to open a different database. DB will
automatically close any open database when the exit-program or
quit-program commands are issued.
9.7.3 – Copy
Syntax: copy from-alias-name to-alias-name
The copy command creates a new alias with the name to-alias-name
and associates to it the expansion value of the alias with the
name from-alias-name. A subsequent change to the "from" alias
will not affect the "to" alias. Any attributes associated with
the "from" alias will be copied to the "to" alias regardless
of whether or not an "override on" command has been issued
previously.
db> add Postmaster "system@thor.example.com"
[Entry added to database]
db> copy Postmaster Postmast
[1 entry copied]
db> show Post*
Key Value
---------- -----------------------------
postmast system@thor.example.com
postmaster system@thor.example.com
[2 entries shown]
db>
9.7.4 – Exit-Program
Syntax: exit-program
The exit-program and quit-program commands are identical and each
causes DB to close any open database and then exit. Note that
in FAX mode there is no exit-program command, only an exit-mode
command. To immediately exit DB from FAX mode, use the quit-
program command.
9.7.5 – Fax-Mode
Syntax: fax-mode
The fax-mode command puts you into FAX mode - a mode which
attempts to simplify the creation and modification of aliases
whose expansion values are FAX addresses. In this mode, the DB
command prompt changes to "db.fax>". To exit this mode use the
command exit-mode. (From this mode there is no exit-program
prompt; to immediately exit FAX mode, use the quit-program
command.)
When in FAX mode, aliases created with the add command are given
the attributes mail-address and fax-address. Only addresses with
both of these attributes can be manipulated with the add, copy,
modify, rename, remove, set, and show commands while in FAX mode.
Note, however, that if the "override on" command has been issued,
then all attribute checking is bypassed and no attributes will be
assigned to aliases created with the add command.
In FAX mode, the add and modify commands have a different syntax
then their counterparts in the normal DB mode. (Recall, you can
always tell which mode you're in by the DB prompt: in normal mode
the prompt is "db>"; in FAX mode the prompt is "db.fax>".)
9.7.5.1 – Add (FAX Mode)
Syntax: add alias-name fax-number number domain domain-name
[[item value]...]
To add an alias in FAX mode, the alias name, FAX telephone
number, and domain name (e.g., text-fax.example.com) must all
be supplied. If the FAX telephone number contains any spaces or
commas, then it must be enclosed in double quotes.
Additional items of information can be specified. Note that when
specifying a value for an item, the value must be enclosed in
double quotes if it contains any spaces, commas, or characters
you don't want converted to lower case. Furthermore, any double
quotes appearing in the value must be changed to two consecutive
double quotes. The names of the additional items and their
meanings are:
1-address
The recipient's address can be displayed in one to five lines
on the FAX cover page. These items are used to specify each
individual line of the address. If no address lines are
specified, then no address lines will be displayed on the FAX
cover page. If intermediate address lines are omitted (e.g.,
lines 1 and 3 specified, line 2 omitted), then blank address
lines will be displayed in place of the omitted lines.
authorization
Your site might require you to specify an authorization or
access code in order to send FAXes. You can specify any required
authorization or access codes with this item.
fax-modem-number
The telephone number which the transmitting FAX modem should use
when identifying itself to the receiving FAX device. While the
receiving FAX device might print this number across the top or
bottom of received pages, it is not placed on the FAX by PMDF-
FAX (the sending FAX modem). To control the FAX number which is
displayed on the cover page as your FAX telephone number, use the
"my-fax-number" item.
my-fax-number
The FAX telephone number to display on the FAX cover page.
my-organization-name
The name of your organization, group, or department to display
across the top of each transmitted FAX page.
my-telephone-number
The recipient's telephone number to be printed on the FAX
cover page. If not specified, then no telephone number will be
displayed.
For example, to specify a FAX address for John Doe at Example
Company, Inc., the following command can be issued while in FAX
mode:
db.fax> add john-fax fax-number "(714) 555-1212" domain
"text-fax.example.com" recipient "John Doe" 1-address
"Example" telephone "(714) 555-1212"
db.fax> show john-fax
Alias name: john-fax
Recipient's FAX number: (714) 555-1212
Recipient's name: John Doe
Address line 1: Example
Recipient's telephone number: (714) 555-1212
Domain specification: @text-fax.example.com
[1 entry shown]
db.fax>
Note that all of the values entered were enclosed in double
quotes. This is often the safest policy as it avoids having to
worry about spaces or other characters which can appear in the
values to be specified and it prevents values entered from being
converted to lower case.
recipients-name
The name of the recipient as it will appear on the cover page
of the FAX message. Be sure to enclose the recipient's name in
double quotes so as to not have it converted to lower case. If
not specified, then no recipient's name will be displayed on the
FAX cover page.
send-after
Do not send the FAX until after the specified date and time. The
date and time must be given using the standard OpenVMS date-time
specification format. For example, the date-time specification
"3-FEB-2012 22:35:00" requests that the FAX not be transmitted
until after 22:35 (10:35 PM) on February 3, 2012.
setup
A PostScript file to first process before processing your
message. The filename must specify a full path to the file and
the file must be world readable. Text library modules can also be
specified using the format file-spec(module-name); e.g.,
setup D1:[INIT]PSLIB(LETTERHEAD)
where the text library is the file D1:[INIT]PSLIB.TLB and the
module name is LETTERHEAD.
9.7.5.2 – Modify (FAX Mode)
Syntax: modify alias-name [[item value]...]
With the modify command, various items associated with a FAX
address can be altered or removed, and new items can be added
to the FAX address. To alter or add an item simply specify the
item name and new value. To delete an item, simply give the item
name without any associated value. The domain-name and fax-number
items, described below, cannot be deleted.
In addition to the items which can be specified with the add
command, two additional items can be specified. These items are:
fax-number
The FAX number to send the FAX message to.
domain-name
The domain name associated with the FAX address.
Continuing with the example of the previous subsection, we can
use the modify command to delete the use of the 1-address line
and to change the recipient's telephone phone number:
db.fax> modify john-fax 1-address
[1 entry modified]
db.fax> modify john-fax telephone-number "(714) 555-1212"
[1 entry modified]
db.fax> show john-fax
Alias name: john-fax
Recipient's FAX number: (714) 555-1212
Recipient's name: John Doe
Recipient's telephone number: (714) 555-1212
Domain specification: @text-fax.example.com
[1 entry shown]
db.fax>
9.7.6 – Modify
Syntax: modify alias-name new-alias-value
The modify command is used to replace the expansion value of an
alias with a new expansion value.
db> add postmaster "system@thor.example.com"
[Entry added to database]
db> show postmaster
Key Value
---------- -----------------------------
postmaster system@thor.example.com
[1 entry shown]
db> modify postmaster "JOHN@example.COM"
db> show postmaster
Key Value
---------- -----------------------------
postmaster JOHN@example.COM
[1 entry shown]
db>
Wild cards can be used when specifying the alias name in order to
modify one or more aliases simultaneously.
9.7.7 – Open
Syntax: open database-name [huge|long|short]
The OPEN command opens an alias database after first closing
any currently opened database. If the database to be opened
already exists, then DB will automatically determine whether
or not the database is a "huge" (stores 80/1024 character long
alias names/values), or "long" (stores 80/132 character long
alias names/values) or "short" (stores 32/80 character long alias
names/values). If the database does not already exist, then it
will be created. If the SHORT, LONG, or HUGE keyword is specified
after the database file name, then the database created will be
of that type. If no keyword is specified, the created database
will be a long database.
When DB is first invoked, the personal alias database pointed
at by the logical PMDF_PERSONAL_ALIAS_DATABASE is automatically
opened. If it doesn't exist, a long database is automatically
created. Note that because of this, if you want a huge or short
database instead of a long one, you must create a database file
of the desired size either (e.g. for a huge database) using "pmdf
crdb/huge", or by using the DB "open other-file huge" command
then renaming other-file to the PMDF_PERSONAL_ALIAS_DATABASE
name.
9.7.8 – Override
Syntax: override on|off
The override command is useful when looking at or modifying
databases other than an alias database. Ordinarily the database
manipulation commands, add, copy, modify, rename, remove, set,
and show will only operate on aliases with the mail-address
attribute. When the command "override on" has been issued, these
commands can be used to manipulate any entry in the database
regardless of its attributes (or lack thereof).
The "override off" command negates the "override on" command.
9.7.9 – Quit-Program
Syntax: quit-program
The exit-program and quit-program commands are identical and each
causes DB to close any open database and then exit. Note that
in FAX mode there is no exit-program command, only an exit-mode
command. To immediately exit DB from FAX mode, use the quit-
program command.
9.7.10 – Remove
Syntax: remove alias-name
With the remove command, one or more aliases can be removed from
the database. Wild cards can be used when specifying aliases to
be removed. For instance, to remove all aliases from a database,
issue the command "remove *".
9.7.11 – Rename
Syntax: rename old-alias-name new-alias-name
The rename command is used to rename an alias without altering
its expansion value:
db> add postmaster "system@thor.example.com"
[Entry added to database]
db> show postmaster
Key Value
---------- -----------------------------
postmaster system@thor.example.com
[1 entry shown]
db> rename postmaster post
[1 entry renamed]
db> show post
Key Value
---------- -----------------------------
post system@thor.example.com
[1 entry shown]
db>
9.7.12 – Set
Syntax: set alias-name attributes[,...]
The set command can be used to grant or remove attributes from
aliases. The alias name specification can include wild cards.
The allowable attribute names are listed in the add command
description described under the "add" command.
9.7.13 – Show
Syntax: show [alias-name [attributes]]
The show command is used to list the contents of a database. The
optional attributes keyword, when supplied, causes the attributes
associated with each alias to also be displayed:
db> add postmaster "system@thor.example.com"
[Entry added to database]
db> show postmaster attributes
Key Value
---------- -----------------------------
postmaster system@thor.example.com
Attributes: private,expand,block-receipts,mail-address
[1 entries shown]
db>
The alias name specification can contain wild cards. To see
all entries with the mail-address attribute, issue the command
"show"; to see absolutely all entries, first issue the command
"override on" followed by the command "show"
9.7.14 – Wildcards
Syntax: wildcards ignore|interpret
By default, the characters * and % in alias names are interpreted
as wildcards: an asterisk, *, will match zero or more characters
while each percent sign, %, will match precisely one character.
The command "wildcards ignore" will cause DB to not interpret
asterisks or percent signs as wildcards; the command "wildcards
interpret" will resume interpretation of wildcards.
9.7.15 – Write
Syntax: write file-name [alias]
The write command is used to create a command file which, when
fed back into DB with the < or << commands, will recreate the
entire database. If the alias keyword is specified, then a PMDF
alias file (using PMDF's alias file format) will instead be
produced.
For instance, the following commands will create a database named
DB2.DAT which duplicates the database DB1.DAT:
db> open db1.dat
db> write make.com
db> open db2.dat
[creating database]
db> <<make.com
db>
The above example presupposes the existence of a database named
DB1.DAT. The file MAKE.COM created with the write command is an
ordinary text file which can be edited with any text editor.
Note that this is not an efficient way to duplicate a database
- the DCL COPY command works much faster. The write command is
intended as a means of creating a textual representation of a
database which can be edited as a text file and later turned back
into a database.
10 – DCF
Convert WPS and DX files to other formats.
Syntax
PMDF DCF input-file-spec output-file-spec
Positional Qualifiers Defaults
/FORMAT=type See text
10.1 – Restrictions
o This utility is available only for OpenVMS VAX.
o This utility is available only with the PMDF-MR optional
layered product, must be explicitly built by the PMDF system.
manager, (see the PMDF System Manager's Guide), and is only
intended for internal use by the PMDF-MR channels.
o The file extensions of the input and output files are not user
selectable.
10.2 – Prompts
Input file: input-file-spec
Output file: output-file-spec
10.3 – Parameters
input-file-spec
The name of an input file to convert. The format of the file
must be specified with a positional /FORMAT qualifier. The file
extension of the input file must match the specified format (see
the /FORMAT qualifier description for details).
output-file-spec
The name of an output file to create. The format of the output
file is selected with the /FORMAT positional qualifier. The file
extension of the output file must match the specified format (see
the /FORMAT qualifier description for details).
10.4 – Description
The DCF utility is used by PMDF-MR to convert WPS and DX
message bodyparts to ASCII. This facility is built from document
conversion software supplied as part of the MRGATE kit (version
3.1 or 3.2), the Message Router VMS MAIL gateway. PMDF-MR will
function without this utility but it will be unable to convert
WPS and DX bodyparts to ASCII.
10.5 – Positional Qualifiers
10.5.1 /FORMAT
/FORMAT=type
This positional qualifier must be given for both the input and
output file specifications. The allowable types are ASCII, DX,
and WPSFILE. The file extension of the input and output file
must be given and they must agree with the selected format: for
ASCII files the file extension must be .TXT, for DX files the
file extension must be .DX, and for WPSFILE files the extension
must be .WPL. Failure to use the proper extension will result in
unpredictable results.
10.6 – Examples
The following command may be used to convert a WPS-PLUS file to
an ordinary text format:
$ PMDF DCF koala.wpl/FORMAT=WPSFILE mrsdd.txt/FORMAT=ASCII
All special text attributes (e.g., bold, underlined, etc.), are
lost in the conversion from WPS-PLUS to ASCII.
11 – DECODE
Decodes a file which was previously encoded with the ENCODE
utility or encoded using a MIME aware mail agent.
11.1 – Restrictions
None.
Syntax
PMDF DECODE encoded-file-spec output-file-spec
Qualifiers Defaults
/ENCODING=type None
/FILENAME /NOFILENAME
/HEADER /NOHEADER
11.2 – Prompts
Input file: encoded-file-spec
Output file: output-file-spec
11.3 – Parameters
encoded-file-spec
Specifies the name of an encoded input file. The input file must
be a file previously created with the ENCODE utility.
output-file-spec
The name of the file to produce as output. The file output by
DECODE will have the identical format, structure, contents, etc.
of the original file encoded with ENCODE.
When the /FILENAME qualifier is used, the output-file-spec is
treated as a default file specification and as much as possible
of the file name, if any, specified in the Content-type: header
line is used to generate the actual output file name.
11.4 – Description
PMDF DECODE and ENCODE have been, for the most part, made
obsolete by PMDF MAIL. If you use PMDF MAIL, then files which
you send with the SEND command will be encoded automatically,
if necessary. Encoded messages which you receive will be decoded
automatically, if necessary, and can simply be extracted to a
file with the EXTRACT command. If, however, you do not use PMDF
MAIL, then read on.
The ENCODE and DECODE utilities are provided with PMDF as a means
of transmitting OpenVMS binary files via VMS MAIL and other non-
MIME aware agents. With ENCODE, a file can be encoded in a format
which uses short records containing only printable characters.
Such files can then be transmitted through most any mail system
without being altered (e.g., lines wrapped, characters removed
or replaced, etc.). ENCODE preserves all file contents and all
file attributes when encoding a file. The contents and attributes
are properly restored when decoded with DECODE. Absolutely any
type of OpenVMS file can be transmitted with these two utilities
- even indexed files with multiple keys and files with extended
semantics.
Encoded files have two parts. The first part is a conventional
RFC 822 message header. Header lines are used to describe the
file format; this information includes a conventional OpenVMS
FDL (file description language) description of the file and
a description of the encoding used to convert the file into a
printable form for transfer. ENCODE creates this header; DECODE
reads it and uses the information it contains to reconstruct the
file.
NOTE
Many encoded messages received with PMDF are automatically
decoded for you, thus obviating the need to use PMDF DECODE
at all. This is especially true when you use PMDF MAIL whose
EXTRACT command will extract any MIME encoded message or
message body part. If you use VMS MAIL, however, you can
occasionally receive an encoded message which PMDF could not
deliver in its decoded form to VMS MAIL owing to limitations
of VMS MAIL itself.
11.5 – Qualifiers
11.5.1 /ENCODING
/ENCODING=type
This qualifier controls the type of decoding used to decode the
input file. The possible values for this qualifier are BASE64,
CBASE64 (gzip compressed BASE64), BASE85, BINHEX (encoding only,
not the file format), BTOA, HEXADECIMAL, PATHWORKS, QUOTED_
PRINTABLE, UUENCODE, CUUENCODE (gzip compressed UUENCODE). If the
/HEADER qualifier is specified, then it should not be necessary
to specify the encoding used as this should be given in the
message header. The /ENCODING qualifier will override the header
specification if it is used.
11.5.2 /FILENAME
/FILENAME
/NOFILENAME (default)
When the /FILENAME qualifier is used, the output-file-spec is
treated as a default file specification and as much as possible
of the file name, if any, specified in the Content-type: header
line is used to generate the actual output file name. The default
is /NOFILENAME in which case any file name specified in the
Content-type: header line is ignored.
11.5.3 /HEADER
/HEADER
/NOHEADER (default)
This qualifier controls whether or not the encoded file begins
with a MIME-compliant header. /NOHEADER is the default. When
/NOHEADER is used, the /ENCODING qualifier is usually needed
to specify the encoding since it cannot be determined from the
header. To decode material that begins with a MIME-compliant
header, e.g., specifying the encoding used, use the /HEADER
qualifier.
11.6 – Examples
The following example illustrates a typical scenario:
SUE@SAMPLE.COM wants to send an executable program to
BOB@EXAMPLE.COM. To do this, Sue might issue the following
two commands:
$ PMDF ENCODE/ENCODING=BASE64 PROGRAM.EXE PROGRAM.TXT
$ MAIL/SUBJECT="Bob, here's the program" PROGRAM.TXT
"IN%""BOB@EXAMPLE.COM"""
When Bob receives this mail message he should issue the
following commands:
$ MAIL
MAIL> EXTRACT/NOHEADER PROGRAM.TXT
MAIL> EXIT
$ ! Remove any extra material at the beginning and ending of the file.
$ PMDF DECODE/ENCODING=BASE64 PROGRAM.TXT PROGRAM.EXE
After decoding the file, Bob can now proceed to run
PROGRAM.EXE.
Note that Sue could also have used PMDF MAIL's SEND command to
bypass the need to use PMDF ENCODE in the first place.
12 – DELIVER
DELIVER screens and automatically processes your incoming mail
based on guidelines that you provide. Different actions can be
taken based on a message's envelope or header addresses, subject,
or content. These actions include delivering the message, filing
the message away, forwarding the message, or even invoking a
DCL command procedure to perform complex processing. Any actions
taken occur immediately upon receipt of each message; you do not
need to be logged in at the time a message is received in order
for actions to be taken on your behalf.
DELIVER is modelled after the MAILDELIVERY facility of the MMDF
mail system. DELIVER is, however, completely distinct from MMDF
and the formats of .MAILDELIVERY files for MMDF and MAIL.DELIVERY
files for DELIVER are dissimilar.
12.1 – Setting Up DELIVER
In order to use DELIVER, you must first take two steps:
1. Create a MAIL.DELIVERY file in your default login directory.
For security reasons this file must be located in your default
login directory - it cannot be stored elsewhere. The format
of a MAIL.DELIVERY file is described under the subtopic
"MAIL.DELIVERY File format".
This first step is all that is required to cause DELIVER to
process mail delivered to you by PMDF. That is, the presence
of a MAIL.DELIVERY file is all that is required to activate
DELIVER for messages you receive via PMDF.
2. Set your mail forwarding address to "IN%""~USERNAME"""
(OpenVMS 7.0 or earlier) or to IN%"~USERNAME" (OpenVMS 7.1
or later) where USERNAME is your username. Refer to the PMDF
User's Guide for further information on using the SET FORWARD
command.
This step is required to cause DELIVER to process mail you
receive in your VMS MAIL mailbox by means other than PMDF.
Once these two steps have been taken, DELIVER will be invoked
automatically to handle all mail as it is delivered to you. For
example, suppose the user BOB on an OpenVMS 7.0 system wants to
have DELIVER process his incoming messages. BOB should create
a MAIL.DELIVERY file in his login directory and then set his
forwarding address,
$ MAIL
MAIL> SET FORWARD "IN%""~BOB"""
MAIL> EXIT
$
12.2 – MAIL.DELIVERY File format
The MAIL.DELIVERY file controls DELIVER and tells it how to
handle each incoming message. A MAIL.DELIVERY file consists of
a series of directives with one directive on each line of the
file. Each directive specifies how a certain kind of message is
to be handled. A particular directive may or may not apply to a
given message. An attempt is made to apply every directive in the
MAIL.DELIVERY file to each message, thus more than one directive
may apply to (and more than one action may be the result of) a
single message.
Any line in the file which begins with a semicolon or an
exclamation point is considered to be a comment and is ignored.
A directive line consists of the following items in order from
left to right:
1-pattern 2-pattern 3-pattern accept action 1-parameter 2-parameter
Items must be delimited by one or more spaces or tabs. Quoted
strings (use double quotes, not single quotes) are allowed as
single items; the quotes are removed from the items as they
are read. A double quote can be obtained by using two double
quotes with no space between them. This form of quote handling is
consistent with that of OpenVMS DCL.
The 1-PARAMETER and 2-PARAMETER items are both optional and can
be omitted if the action ACTION requires no parameters. The first
five items are mandatory and must appear in every directive line.
12.2.1 – Directive Applicability
The 1-PATTERN, 2-PATTERN, 3-PATTERN, and ACCEPT items determine
whether or not the directive applies to a particular message. In
most cases a string comparison is performed between the patterns
1-PATTERN, 2-PATTERN, and 3-PATTERN and, respectively, the FROM:,
TO: and SUBJECT: fields that would be seen in VMS MAIL. Note
that these fields do not correspond exactly to the RFC 822 header
lines of the same name; a complex set of mapping criteria are
used to convert the RFC 822 header lines into VMS MAIL headers.
Moreover, it is possible to rearrange the strings the patterns
are compared against in complex ways using the 1, 2, and 3
actions.
The comparison is not case sensitive. The usual OpenVMS wildcard
characters, * and %, can be used in the patterns. The pattern *
will match anything. For partial matches, the pattern * is used
to indicate a field that should be ignored.
The default string comparison operations can optionally be
replaced with numeric comparisons. This is controlled by the
second and third characters in the ACCEPT item. If present, both
the column values and the comparison strings are converted to
integer values. The match fails if the conversion fails. A single
asterisk in the comparison string disables comparisons for that
column completely. Once converted, the ACCEPT item determines the
type of comparison:
> Match if comparison string is greater than the column value.
>= Match if comparison string is greater than or equal to the
column value.
< Match if comparison string is less than the column value.
<= Match if comparison string is less than or equal to the
column value.
<> Match if comparison string is not equal to the column value.
Once the comparisons, string or numeric, have been performed,
the ACCEPT item determines if the directive should be applied
to the message. Only the first two characters of ACCEPT are
significant at this point. The first character should be one
of the following:
A Always apply this directive; ignore the results of the
comparisons. Note that this directive does not count as
an applied directive (see the O, B, S, and E actions below).
X Never apply this directive; ignore the results of the
comparisons.
T, Apply this directive if the patterns all matched.
Y
F, Apply this directive if the patterns did not all match (i.e.
N some or all failed).
P Apply this directive if at least one of the patterns matched
(i.e. some or all matched). In this case the pattern * is
not treated as a match.
O, Apply this directive if the patterns all matched and
? no previous directive has been applied to the message.
Directives that used the A accept item don't count as having
been applied. DELIVER can also be told to forget the fact
the some directive has been applied by clearing the R flag
with the R action.
B, Apply this directive if a pattern did not match and no
Q previous directive has been applied to the message.
Directives that used the A accept item don't count as having
been applied.
S Apply this directive if at least one pattern matched and
no previous directive has been applied to the message.
Directives that used the A accept item don't count as having
been applied.
E This directive applies if all the patterns matched or no
other directive has been applied so far. Directives that
used the A accept item do not count as having been applied.
Any other character is interpreted as an X.
If the second character is an asterisk, *, then the ACCEPT item
is modified in that it does not count as an applied directive.
This makes it possible for any ACCEPT item to be treated like the
A item (which never sets the applied flag).
Directives are tested in the order they appear in the
MAIL.DELIVERY file.
For example, suppose JIM@EXAMPLE.COM sends a message to
BOB@SAMPLE.COM. The subject line of the message is "Re: Mooses".
BOB's MAIL.DELIVERY file contains the following lines (the
function of the last two columns of each line, the ACTION and
1-PARAMETER items, is described later):
"*FRED@SAMPLE.COM*" * * T Q
"*JIM@EXAMPLE.COM*" * * T A JIM.LOG
* * *mooses* T A MOOSE.LOG
* * * O A OTHER.LOG
* * * A D
The first directive does not apply since the message is not from
FRED@SAMPLE.COM. The second and third directives both apply since
JIM@EXAMPLE.COM is the sender and the subject line contains the
string "mooses". The fourth directive's patterns all match, but
a preceeding directive has applied, so it does not itself apply.
The final directive applies since it would apply to any message.
The result is that three directives apply to this message, and
thus three separate actions are taken in processing the message.
Note that the patterns "*FRED@SAMPLE.COM*" and
"*JIM@EXAMPLE.COM*" are useful since personal name fields
and possibly other addresses and source routes can appear in
addresses; (e.g., the address FRED@SAMPLE.COM might actually
appear as "Fred Smith <fred@sample.com>"). Depending on personal
name fields for message handling is not a good idea since some
users have a tendency to change personal names frequently and
without warning. The use of the leading and trailing asterisks
makes the pattern match any string that contains the address,
regardless of the context of the address; the result is a
MAIL.DELIVERY file which is insensitive to personal names.
If none of the directives in the file are found to apply to and
process the message in some way, the message is just delivered
normally. (Note, however, that an empty MAIL.DELIVERY file by
default is considered an error; unless your system manager has
configured DELIVER otherwise, your e-mail messages will not be
delivered if you have an empty MAIL.DELIVERY file.) The effect of
having no matching directives (in a non-empty MAIL.DELIVERY file)
is similar to the following directive:
* * * A D
Note that the J, K, L, M, R, S, 1, 2, and 3 actions are not
thought of as having "processed" the message and hence do not
block the application of this default.
12.2.2 – Actions
The ACTION and 1-PARAMETER items specify what action is taken
when a directive is applied to a message. The first character
of ACTION specifies what type of action to take. The legal
characters for ACTION and what they do are:
A
Append the body (or contents) of the message to a file. The
message header is not included. The 1-PARAMETER item specifies
the file name. The file need not already exist: if necessary,
it will be created. The recipient must have write access to the
file, if it exists, and write access to its directory if it needs
to be created; DELIVER grants the user no special file access
privileges.
B
Same as D but with the message headers appearing at the bottom of
any messages delivered to VMS MAIL. PMDF's FOLDER utility is used
to deliver the mail.
C
Copy the body of the message to a file whose name is 1-PARAMETER
. Write access to the directory where the file is to be created
is required.
D, V
Deliver the message normally to VMS MAIL. 1-PARAMETER is the name
of the folder the message is to be placed in. If 1-PARAMETER is
omitted the message is placed in the VMS MAIL's NEWMAIL folder
by default. Delivery to VMS MAIL's NEWMAIL is done directly by
PMDF; delivery to other folders is done using the FOLDER utility.
The V action is identical to the D action; it is retained for
compatibility with earlier versions of DELIVER.
If an additional parameter, 2-PARAMETER, is specified, then that
additional parameter will be interpreted as the name of the mail
file to use in the case of VMS MAIL delivery. The user's default
mail file and default directory are used if 2-PARAMETER is not
specified.
The following example shows an action that delivers to the
NEWMAIL folder in an alternate mail file:
* "*+gripes*" * T D NEWMAIL GRIPES.MAI
E
Execute the specified command. The DCL command specified by 1-
PARAMETER is executed. The command is executed in the environment
of the recipient's own account. Any noninteractive DCL command is
valid, including an indirect command file specification. The DCL
symbols shown in the table below can be used in the command to
facilitate message processing.
Table 1 DCL Symbols Available to DELIVER Command Files
Symbol Equivalence value
FROM The message's From: address (selected
as described under the topic Directive
Applicability)
TO The message's To: address
SUBJECT The message's Subject:
CC The message's cc:
QFROM From: with quotes doubled (selected as described
under the topic Directive Applicability)
QQFROM From: with quotes quadrupled (selected
as described under the topic Directive
Applicability)
QTO To: with quotes doubled
QQTO To: with quotes quadrupled
QSUBJECT Subject: with quotes doubled
QQSUBJECT Subject: with quotes quadrupled
QCC Cc: with quotes doubled
QQCC Cc: with quotes quadrupled
C1, C2, C3 See S action
QC1, QC2, QC3 See S action
QQC1, QQC2, See S action
QQC3
MESSAGE_FILE The name of the file containing the body of the
message; MESSAGE_FILE always contains a full
file path
MESSAGE_HEADER The name of the file containing the headers of
the message; MESSAGE_HEADER always contains a
full file path
MESSAGE_DELETE Initially set to "YES", if this symbol is set to
"NO", no attempt will be made to delete MESSAGE_
FILE and MESSAGE_HEADER after all actions are
complete; the M action sets MESSAGE_DELETE to
"NO"
The Q forms are useful if the symbol must be expanded inside a
quoted string. The MESSAGE_DELETE flag is useful if MESSAGE_
FILE or MESSAGE_HEADER (or both) have to be queued for further
processing at a later time, or if one of the actions has already
deleted them.
F, W
Forward the message. The message is forwarded to the address
specified by 1-PARAMETER.
VMS MAIL is used to send the message. As such, the address
specified by 1-PARAMETER must be one that VMS MAIL will accept;
PMDF addresses will probably require the use of an IN% construct,
for instance. A new message header is added; the original header
is lost. The new header refers to the forwarding user as the
message originator.
H
Append the header and the body (or contents) of the message to
a file. One blank line is written between the header and the
body. The 1-PARAMETER item specifies the file name. The file
need not already exist: if necessary, it will be created. The
recipient must have write access to the file, if it exists, and
write access to its directory if it needs to be created; DELIVER
grants the user no special file access privileges.
J
Set the batch queue or a queue parameter used to run the command
file produced by DELIVER. DELIVER uses the queue DELIVER_BATCH
by default; if this queue is not defined or is inaccessible by
the message recipient (the owner of the MAIL.DELIVERY file) the
queue SYS$BATCH will be used instead. The J action provides a way
to specify an alternate queue and/or a job parameter. If a single
1-PARAMETER is specified it is the name of the queue. If both 1-
PARAMETER and 2-PARAMETER are specified the former gives the name
of the job parameter to set and the latter gives the value to set
the parameter to. Currently the only parameters supported are P1
through P8, which set the corresponding positional job parameter
to the string specified in 2-PARAMETER.
If the queue specified with the J action cannot be used, the
DELIVER_BATCH queue or SYS$BATCH queue will be used instead.
K
Save the command file after execution. Normally the command
file created on behalf of the user is deleted automatically
after execution. This action, if used, inhibits this automatic
deletion.
L
Save the batch log of the DCL commands executed by DELIVER
for each message processed in the file 1-PARAMETER in the
user's login directory. This option is useful for debugging
MAIL.DELIVERY files and command scripts. If more than one L
action is triggered only the last one has any effect.
M
Save the message and header files after execution of the batch
job. The message and header files are normally deleted as the
last step of processing by the batch job. This action suppresses
automatic deletion of these files; the same effect can be
obtained by setting the MESSAGE_DELETE flag to NO.
O
Same as D but with the message headers omitted from messages
delivered to VMS MAIL. PMDF's FOLDER utility is used to deliver
the mail.
P
Forward the message. The message is forwarded to the address
specified by 1-PARAMETER.
PMDF is used to send the message. As such, the address specified
by 1-PARAMETER should be a standard RFC 822 style address.
The original message header is retained and supplemented with
additional information describing the forwarder as the sender of
the message.
Q
Quit; take no action and abort. If this action is taken
DELIVER stops scanning the MAIL.DELIVERY file at this point.
No subsequent directives will apply after this one. Use this
directive with care; it is very easy to lose messages when this
action is employed.
R
Reset specified flag or flags. This action examines its first
argument one character at a time and clears any associated flag.
Two flags are defined at present. The R flag is set whenever
DELIVER finds an applicable directive. This flag is tested by
the B, O, Q, S, and ? ACCEPT items. The A flag is set whenever
DELIVER applies some directive that is thought of as having
processed the message.
S
Save the current column strings for pattern matching of columns
one, two, and three in special DCL column variables C1, C2,
and C3, respectively. The DCL variables QC1, QC2, QC3 (quotes
doubled), QQC1, QQC2, and QQC3 (quotes quadrupled), are also
defined in the same way as the variables FROM, QFROM, and QQFROM
are defined.
This action makes it possible to save and act upon the results
produced by the 1, 2, and 3 actions in ways that cannot be
accommodated by the facilities DELIVER provides directly.
One, Two, Three (1, 2, 3)
Rebuild the strings the DELIVER patterns are matched against. 1
rebuilds the string 1-PATTERN is compared with, 2 rebuilds the
string 2-PATTERN is compared with, and 3 rebuilds the string 3-
PATTERN is compared with. 1-PARAMETER is either the keyword RESET
or an expression that describes the processing to be applied to
the message header to produce the resultant column string. The
expression is written in what amounts to a miniature language
specialized for just this purpose.
The expression language is very simple; it consists of tokens
that describe either atoms (in the spirit of RFC 822) or
operators. There are only two types of atoms and four operators.
The simplest form of atom is simply the field-name of a message
header. Any possible message header field-name can be specified,
including standardized ones like MESSAGE-ID, RESENT-FROM, and
REFERENCES and nonstandard ones like X-VMS-CC, ORGANIZATION,
and FRUIT-OF-THE-DAY. Any field-name can be specified, including
field-names that PMDF does not recognize or use itself.
Two special field-names with special meanings are provided.
ENVELOPE-FROM refers to the envelope FROM: address (which
usually, but not always, appears on the RETURN-PATH: header)
and ENVELOPE-TO refers to the ENVELOPE TO: address that describes
the current message recipient. The latter envelope information
usually appears on one of the various recipient headers (TO:,
RESENT-TO:, BCC:, etc.), but can be hard to locate in some cases
or completely missing in other cases.
The presence of such an atom amounts to a request to extract the
text from the header (or possibly headers) that correspond to
the specified field-name and use this text as the column string
result. If the specified field-name is not used in the message
header the atom extracts an empty or null string.
The other sort of atom is simply a quoted string. Single quotes
are used instead of double quotes since double quotes usually
surround the entire 1-PARAMETER. The contents of the quoted
string are used as the column string. This atom is not useful
by itself; it is designed to be used in conjunction with other
atoms and operators.
The most straightforward operator is concatenation. Two or more
atoms appearing side by side (with only spaces and/or tabs in
between) are concatenated to form a composite result.
A comma acts as a special form of concatenation. The expressions
on either side are evaluated and concatenated. If the expressions
on both sides of the comma produce non-null results, then a
comma-space sequence is inserted between them. The comma-space
is not inserted if either side produces only an empty string as a
result.
A forward slash, /, acts as a form of alternation. It will
"return" the result of the evaluation of the left hand side if
it is not empty, and the result of the right hand side if the
left hand side result is null. (The similarity of these operators
to those used in RFC 822 is not coincidental.)
An asterisk, *, is used as a special modifier to any expression.
When it precedes an expression, it requests that the evaluation
of any field-name atom return all header lines with the specified
field-name concatenated together, rather than simply the first
such line. A quoted string atom can be specified directly after
the asterisk, and if such a string is specified it is inserted
between any concatenated header lines.
Finally, the various operators bind differently. Asterisk binds
the tightest (similar to exponentiation in regular mathematical
expressions), followed by concatenation, and finally alternation.
Parentheses can be used to alter the binding order as needed.
Here are a few examples of 1-PARAMETER expressions:
* * * A 1 "MESSAGE-ID, RESENT-MESSAGE-ID, ALTERNATE-MESSAGE-ID"
The MESSAGE-ID:, RESENT-MESSAGE-ID:, and the (nonstandard)
ALTERNATE-MESSAGE-ID: headers are concatenated with commas
inserted between them.
* * * A 1 "(RESENT-TO,RESENT-CC,RESENT-BCC)/(TO,CC,BCC)/ENVELOPE-TO"
The various Resent- recipient headers are concatenated, and if
none of them exist the regular set of recipient headers are used
instead. If these in turn don't exist the envelope TO: address is
used (presumably as a last resort).
* * * A 1 "* ' ' RECEIVED"
All of the Received: headers are concatenated into a single
string separated by spaces.
Considerably more complex expressions can be built as the need
arises.
The keyword RESET restores the original value of the
corresponding column. This would be used after another 1, 2,
or 3 directive has modified the string. It is used for example as
follows:
* * * A 1 RESET
12.2.3 – Example
For example, suppose that BOB@SAMPLE.COM sends JIM@EXAMPLE.COM
a message. JIM@EXAMPLE.COM has the following (rather complex)
MAIL.DELIVERY file:
"*JIM@EXAMPLE.COM*" * "Loopback" T D
* * "Loopback" O F """''F$ELEMENT(0,"" "",QFROM)'"""
* * "Loopback" T Q
* * * A E @LOGALL.COM
"*TERRY@ISI.COM*" * * T Q
"*JIM@EXAMPLE.COM*" * "Archives" T Q
"*BOB@SAMPLE.COM*" * * T A BOB.LOG
* * * A D
JIM@EXAMPLE.COM's LOGALL.COM contains the following commands:
$ from == "From: " + from
$ to == "To: " + to
$ subject == "Subject: " + subject
$ open/append/error=make_one x message.log
$ next:
$ write x ""
$ write x from
$ write x to
$ write x subject
$ write x ""
$ close x
$ append 'message_file' message.log
$ exit
$ !
$ make_one:
$ create message.log
$ open/append x message.log
$ goto next
Note that a similar effect could be achieved by substituting
* * * A H MESSAGE.LOG
for
* * * A E @LOGALL.COM
but would log the entire header rather than a few selected lines.
If the subject line of BOB@SAMPLE.COM's message is not the string
"Loopback", the message will be logged with a header in the file
MESSAGE.LOG (located in JIM@EXAMPLE.COM's SYS$LOGIN directory),
appended to the file BOB.LOG without any header and delivered to
JIM@EXAMPLE.COM's NEWMAIL folder. If subject line is the string
"Loopback", JIM@EXAMPLE.COM's MAIL.DELIVERY file will bounce the
message right back to BOB@.SAMPLE.COM.
The F$ELEMENT DCL lexical function is used in this example to
eliminate the personal name field from the address, if one is
present. Care must be taken to deal with personal name fields
attached to VMS MAIL addresses in a proper manner. The approach
of using F$ELEMENT is simple and usually very effective; note
that it can fail if the address part of the VMS MAIL header line
contains spaces.
As another example, if TERRY@ISI.COM sends a message to
JIM@EXAMPLE.COM, the message is logged only in JIM@EXAMPLE.COM's
MESSAGE.LOG file; JIM@EXAMPLE.COM never receives any notification
that the message arrived. Apparently, TERRY@ISI.COM never says
anything of importance to JIM@EXAMPLE.COM.
It is clear that the ability to execute an arbitrary set of DCL
commands in response to a message is a very powerful tool. It
must, however, be used with care, since processing is initiated
whenever a message is received and operates in a completely
unattended environment.
12.3 – Operation
As it delivers messages to local users PMDF checks to see if the
user has a MAIL.DELIVERY file in their default login directory.
DELIVER is invoked if this file exists. DELIVER takes the
following steps:
1. DELIVER reads and parses the MAIL.DELIVERY file.
By default the message is returned to the sender if any errors
occur during the reading and parsing of the MAIL.DELIVERY
file. Note that an empty MAIL.DELIVERY file is considered an
error.
The system administrator can configure DELIVER to change this
behavior. If the logical name PMDF_IGNORE_MAIL_DELIVERY_ERRORS
is defined /SYSTEM/EXECUTIVE, any errors in the MAIL.DELIVERY
file (including an empty file) are ignored. The mail is
delivered normally to the user's NEWMAIL folder as if the
MAIL.DELIVERY file did not exist.
2. DELIVER writes the headers of the message to a temporary file
in the recipient's home directory.
3. DELIVER writes the body of the message to a temporary file in
the recipient's home directory.
4. A command file is constructed to complete the delivery
process. This file is also created in the recipient's
home directory. The directives previously read from the
MAIL.DELIVERY file are compared with the message. Any
directives that match will cause commands to be written to
the command file that implements the requested action.
5. After the list of directives is exhausted DELIVER checks to
see that at least one directive caused an action to be taken.
If none did, DELIVER writes to the command file a default
action command to deliver the message normally. Commands to
delete the message file (unless the MESSAGE_DELETE flag is set
to NO by one of the actions) and the command file itself are
written to the command file and the command file is closed.
6. The command file is queued to the batch queue specified by the
MAIL.DELIVERY file for processing. If the MAIL.DELIVERY files
not specify a queue, the DELIVER_BATCH queue will be tried,
and if that fails the queue SYS$BATCH will be used. The file
is queued so that it will execute just as if the recipient had
submitted it for processing from his or her own account. Once
the command file is submitted DELIVER tidies up, deallocating
any storage allocated for directive lists, and returns control
to PMDF.
DELIVER does not bother to create the batch job if there's no
work for it to do.
7. DELIVER passes responsibility for delivery back to PMDF if it
was asked to deliver the message to the user's NEWMAIL folder
and the requested handling of headers matches the the handling
specified by the local channel. This does not preclude other
actions using the message in other ways.
12.4 – Subaddresses
Subaddresses provide a convenient handle for screening e-mail
messages with DELIVER.
To screen mail based upon a subaddress, you must use a 1, 2,
or 3 action to obtain the envelope TO: address associated with
the mail message being delivered to you. You cannot use headers
since there is no requirement that your address has to appear in
the header of messages you receive, either with or without the
subaddress. For instance, to detect the subaddress "junk-mail",
use the directives
* * * T 2 "ENVELOPE-TO"
* "*+junk-mail*" * T D WASTEBASKET
The first of these two directives tells DELIVER to use the
envelope TO: address for 2-PATTERN. The second directive then
causes any messages with +junk-mail appearing in the envelope TO:
address to be filed to your WASTEBASKET folder.
12.5 – Limitations
There are no known bugs in PMDF's DELIVER subsystem at this time.
However, there are a few minor nuisances which users should be
aware of:
1. It is difficult to debug MAIL.DELIVERY files since there is
no way to watch deliver process the file except by enabling
debug code in DELIVER (which is not an option normal users
can exercise). However, the L action can be used to create a
log file of the DCL commands DELIVER executes on behalf of the
user when processing a message:
! Log commands executed in a file unconditionally
* * * A L DELIVER.LOG
* * * A E @DO_SOMETHING.COM
Such log files are always placed in the user's home directory.
Also note that output from command files invoked by DELIVER
can be captured in a file by using the /OUTPUT qualifier:
! Execute a command file with logging
* * * A E @DO_SOMETHING.COM/OUTPUT=DO_SOMETHING.LOG
DELIVER does watch for users sending messages to themselves
and then tries to be somewhat more informative than is usual
about any errors it finds in MAIL.DELIVERY files.
2. Much of the line and symbol processing done by DELIVER
uses 252 character buffers. In particular, parameters in
MAIL.DELIVERY files are limited to a maximum of 252 characters
each. Most lines processed by DELIVER are limited to PMDF's
usual 1024 character maximum. Lines output to command files
are a special case; DELIVER must respect DCL's builtin 256-
character line length limit. This might impose even more
severe restrictions on symbol assignments and other commands
than DELIVER does.
DELIVER silently truncates lines rather than complaining about
line lengths.
13 – DIRECTORY
The former PMDF DIRECTORY directory coordination utilities have
been superseded by the new PMDF DIRSYNC utilities.
14 – DIRSYNC
PMDF-DIRSYNC includes a number of command line utilities that
can be used to convert between LDIF files and other formats,
or in doing testing of directory synchronization features. In
particular, some of these utilities are intended for use in
implementing directory agents in combination with a SYNC_LDIF
channel.
14.1 /CONVERT
Convert to or from LDIF format.
Syntax
PMDF DIRSYNC/CONVERT source[=file-spec]
destination[=file-spec]
Command Qualifiers Defaults
/ATTRIBUTES=attribute-list See text
/DEBUG /NODEBUG
/DELTA /NODELTA
/DOMAIN=cc-domain See text
/DN=attribute-list See text
/FNF /NOFNF
/HEADER /HEADER
/OPTION See text
/REBUILD /NOREBUILD
/SCOPE=keyword /SCOPE=LOCAL
/SPACE=substitution-character See text
/VERBOSE=value See text
14.1.1 – Parameters
source
This required parameter is a keyword or keyword=file-spec value
specifying the input for the converter. The valid keywords are
A1, CC, COMMA, DDS, LDAP, LDIF, MSMAIL, and TRUELDIF. In the case
of CC, COMMA, LDIF, MSMAIL, and TRUELDIF, the keyword takes a
required file specification value, specifying the name of the
directory file to use as input.
destination
This required parameter is a keyword or keyword=file-spec value
specifying the output for the converter. The valid keywords are
A1, CC, COMMA, DB, DDS, LDAP, LDIF, MSMAIL, and TRUELDIF. In the
case of CC, COMMA, LDIF, MSMAIL, and TRUELDIF, the keyword takes
a required file specification value, specifying the name of the
directory file to output.
14.1.2 – Description
The PMDF DIRSYNC/CONVERT command converts between LDIF format
and other directory formats, such as ALL-IN-1, cc:Mail, PMDF
databases, the DDS, comma-separated fields, LDAP, Microsoft
Mail, and standard LDIF. The parameters for the command specify
from which and to which format to convert, and in the case
of file-based formats, the names of the files for input or
output. Depending on the values of source and destination
parameters, some other qualifiers can be available; see Valid
PMDF DIRSYNC/CONVERT Qualifier Combinations. Note that these
qualifiers must appear after the non-LDIF parameter; thus the
general place to specify them is at the end of the command
line.
Table 2 Valid PMDF DIRSYNC/CONVERT Qualifier Combinations
Source Destination Valid qualifiers
ALL-IN-1
A1 LDIF=file- /DEBUG /NODEBUG
spec
/OPTION
LDIF=file- A1 /DEBUG /NODEBUG
spec
/OPTION
cc:Mail
CC=file-spec LDIF=file- /DEBUG /NODEBUG
spec
/DOMAIN
/FNF /NOFNF
LDIF=file- CC=file-spec /DEBUG /NODEBUG
spec
Comma-separated fields
COMMA=file- LDIF=file- /ATTRIBUTES
spec spec
/DEBUG /NODEBUG
/DN
/HEADER /NOHEADER
/SPACE
LDIF=file- COMMA=file- /ATTRIBUTES
spec spec
/DEBUG /NODEBUG
/HEADER /NOHEADER
/SPACE
Database
LDIF=file- DB /DEBUG /NODEBUG
spec
/REBUILD /NOREBUILD
DDS
DDS LDIF=file- /DEBUG /NODEBUG
spec
/SCOPE
LDIF=file- DDS /DEBUG /NODEBUG
spec
Microsoft Mail
MSMAIL=file- LDIF=file- /DEBUG /NODEBUG
spec spec
LDIF=file- MSMAIL=file- /DEBUG /NODEBUG
spec spec
LDAP or X.500
LDAP LDIF=file- /DEBUG /NODEBUG
spec
/OPTION
LDIF=file- LDAP /DEBUG /NODEBUG
spec
/OPTION
Standard LDIF
TRUELDIF=file-LDIF=file- /DEBUG /NODEBUG
spec spec
LDIF=file- TRUELDIF=file-/DEBUG /NODEBUG
spec spec
/DELTA /NODELTA
/VERBOSE
For instance, to dump an LDAP directory to an LDIF file, the
command syntax would be:
$ PMDF DIRSYNC/CONVERT LDAP LDIF=ldap.ldif/OPTION=PMDF_TABLE:sync_ldap_option.
where PMDF_TABLE:SYNC_LDAP_OPTION. is a file containing at least
the mandatory options LDAP_SERVER, LDAP_USER, LDAP_PASSWORD, and
LDAP_BASE. See the PMDF System Manager's Guide for a detailed
discussion of these options; in brief, LDAP_SERVER specifies
the (TCP/IP) name of the LDAP server and the port on which the
LDAP server runs, LDAP_USER and LDAP_PASSWORD specify the name
and password to use to bind to the LDAP server, and LDAP_BASE
specifies the location in the Directory Information Tree of the
subtree of information to be extracted.
14.1.3 – Command Qualifiers
14.1.3.1 /ATTRIBUTES
/ATTRIBUTES=attribute-list
This qualifier is valid when /DESTINATION or /SOURCE is COMMA,
and in such cases either /ATTRIBUTES=attribute-list or /HEADER
must be specified. This option specifies the LDIF file attributes
to be written to or read from the comma-separated fields file.
14.1.3.2 /DEBUG
/DEBUG
/NODEBUG (default)
The option enables debugging.
14.1.3.3 /DELTA
/DELTA
/NODELTA (default)
These qualifiers are valid when /DESTINATION=TRUELDIF, and
control the interpretation of the source LDIF file and hence what
is generated as the corresponding output true LDIF file. /DELTA
tells PMDF that the LDIF file entries should be interpreted
as delta (add) entries; /NODELTA tells PMDF that the LDIF file
entries should be interpreted as absolute entries.
14.1.3.4 /DESTINATION
/DESTINATION=keyword
Valid keywords are A1, CCMAIL, COMMA, DDS, FF, LDAP, LDIF, MSMAIL
(a synonym for FF), and TRUELDIF. Either this qualifier or the
/SOURCE qualifier must be specified with a non-LDIF keyword
value. If /DESTINATION is not explicitly specified, the default
is /DESTINATION=LDIF.
14.1.3.5 /DN
/DN=attribute-list
This qualifier is valid-and indeed mandatory-in conjunction with
/SOURCE=COMMA. This mandatory option specifies the attributes to
use for constructing a distinguished name.
14.1.3.6 /DOMAIN
/DOMAIN=cc-domain
This qualifier is valid when /SOURCE=CCMAIL. This optional
qualifier specifies the pseudodomain name associated with the
cc:Mail users.
14.1.3.7 /FNF
/FNF
/NOFNF (default)
This qualifier is valid in conjunction with /SOURCE=CCMAIL. This
option controls whether entries will be generated in "Last,
First" format or in "First Last" format. The default is "Last,
First" format.
14.1.3.8 /HEADER
/HEADER
/NOHEADER (default)
This qualifier is valid in conjunction with /DESTINATION=COMMA
or /SOURCE=COMMA, and in such cases either /HEADER or
/ATTRIBUTES=attribute-list must be specified. This qualifier
specifies whether a "header" line containing attribute names is
to be read from or written to the comma-separated fields file.
14.1.3.9 /OPTION
/OPTION=file-spec
When the source or destination is A1 or LDAP, then this option
is mandatory. This option specifies the file from which to read
option settings such as password, etc.. For instance, if there
is a channel that normally performs the A1 or LDAP extraction
or updating, and the PMDF DIRSYNC/CONVERT command is being
executed manually to do a manual extract or update, specifying
/OPTION=channel-option-file can be appropriate.
14.1.3.10 /REBUILD
/REBUILD
/NOREBUILD (default)
When the destination is DB, this option can be used to specify a
list of databases which should be rebuilt from scratch (all prior
existing entries deleted), rather than merely updated.
14.1.3.11 /SCOPE
/SCOPE=keyword
This qualifier is valid in conjunction with /SOURCE=DDS. This
option controls the DDS search scope. Allowed values are LOCAL,
WORLD, or CACHE.
14.1.3.12 /SOURCE
/SOURCE=keyword
Valid keywords are A1, CCMAIL, COMMA, DDS, FF, LDAP, LDIF, MSMAIL
(a synonym for FF), and TRUELDIF. Either this qualifier or the
/DESTINATION qualifier must be specified with a non-LDIF keyword
value. If /SOURCE is not explicitly specified, the default is
/SOURCE=LDIF.
14.1.3.13 /SPACE
/SPACE=substitution-character
This qualifier is valid in conjunction with /DESTINATION=COMMA or
/SOURCE=COMMA. This optional qualifier specifies the character
used in the LDIF file in place of the space character in
attribute names (since space is not a legal character in an LDIF
attribute name). If the /HEADER qualifier is being used, then
the resulting "header" line written to the comma-separated output
file will contain the space character in place of any occurrences
of the character specified with /SPACE in the attribute names.
14.1.3.14 /VERBOSE
/VERBOSE=value
The qualifier is valid in conjunction with /SOURCE=LDAP or
/DESTINATION=LDAP. value is an integer specifying the level of
verbosity.
14.2 /COOK
Process an LDIF file according to a recipe file.
Syntax
PMDF DIRSYNC/COOK in-ldif-file-spec out-ldif-file-spec
Command Qualifiers Defaults
/RECIPE=file-spec See text
14.2.1 – Parameters
in-ldif-file-spec
The specification of the LDIF file to read as input.
out-ldif-file-spec
The specification of the LDIF file to read as input.
14.2.2 – Description
The PMDF DIRSYNC/COOK utility uses a recipe file to generate an
output LDIF file from an input LDIF file. The recipe file can be
either a cooking recipe file, or a serving recipe file.
14.2.3 – Command Qualifiers
14.2.3.1 /RECIPE
/RECIPE=file-spec
This required qualifier specifies the recipe file to use for
converting the input LDIF file to the output LDIF file.
14.3 /DIFFERENCES
Perform differencing of two LDIF files.
Syntax
PMDF DIRSYNC/DIFFERENCES auth-ldif-file-spec
old-ldif-file-spec
delta-ldif-file-spec
Command Qualifiers Defaults
/DEBUG /NODEBUG
/EXCLUDE=attribute-list See text.
/INCLUDE=attribute-list See text.
/NAME=directory-name See text.
14.3.1 – Parameters
auth-ldif-file-spec
The specification of the authoritative LDIF file to read as
input.
old-ldif-file-spec
The specification of the old LDIF file to read as input.
delta-ldif-file-spec
The specification of the delta LDIF file to generate as output.
14.3.2 – Description
The PMDF DIRSYNC/DIFFERENCES command performs differencing of two
LDIF files and generates a delta LDIF file of the differences.
14.3.3 – Command Qualifiers
14.3.3.1 /DEBUG
/DEBUG
/NODEBUG (default)
The option enables debugging.
14.3.3.2 /EXCLUDE
/EXCLUDE=comma-separated-list-of-attributes
This option can be used to specify attributes to ignore when
doing the differencing. By default, if neither /EXCLUDE nor
/INCLUDE is specified, all attributes are compared.
14.3.3.3 /INCLUDE
/INCLUDE=comma-separated-list-of-attributes
This option can be used to specify attributes to compare when
doing the differencing. By default, if neither /EXCLUDE nor
/INCLUDE is specified, all attributes are compared.
14.3.3.4 /NAME
/NAME=directory-name
This option can be used to specify the name of the directory
being compared, thereby allowing proper treatment of entries with
an IGNORE_FOR attribute.
14.4 – DIRSYNC
14.4.1 /DIRBOT
Run a SYNC_DIRBOT channel.
Syntax
PMDF DIRSYNC/DIRBOT
Command Qualifiers Defaults
/LEFTOVERS See text
/NOUPDATE=dirlist See text
/UPDATE=dirlist See text
14.4.1.1 – Parameters
None.
14.4.1.2 – Description
The PMDF DIRSYNC/DIRBOT utility can be used to run a SYNC_DIRBOT
channel. If no qualifiers are specified, this is equivalent to
$ @PMDF_COM:MASTER SYNC_DIRBOT
Special qualifiers can be used to override the normal operation
of the channel.
Using the /LEFTOVERS qualifier forces the DIRBOT to use any
.OLD LDIF files for directories that do not currently have new
LDIF files present. When a directory update is forced with the
/LEFTOVERS switches, and no cookie is available to send back to a
directory, the cookie value "biscuit" is used. The various sync_
xxx_master channels know about this value and will accept the
update.
The /UPDATE or /NOUPDATE qualifier can be used to control
just which directories will be sent the results of the DIRBOT
processing.
14.4.1.3 – Command Qualifiers
14.4.1.3.1 /LEFTOVERS
Use of the /LEFTOVERS qualifiers causes the DIRBOT to use .OLD
LDIF files for any directories that do not presently have
new LDIF files present. That is, specifying /LEFTOVERS is
equivalent to having BEST_WITHIN set to an infinite time for
every directory.
14.4.1.3.2 /UPDATE
/UPDATE=dirlist
/NOUPDATE=dirlist
By default, if neither /UPDATE nor /NOUPDATE is specified,
the DIRBOT sends its updates resulting from processing as
normal, as specified in its option file. Use of /UPDATE or
/NOUPDATE can be used to override the normal handling. Specifying
/UPDATE=(dir1,dir2,...) will cause the updates to be sent only
to the specified list of directories dir1,dir2,.... Specifying
/NOUPDATE=(dir1,dir2,...) will cause the updates to be sent
to all directories except the specified list of directories
dir1,dir2,....
15 – DUMPDB
Dump contents of a PMDF CRDB database to a file.
Syntax
PMDF DUMPDB input-database-spec [output-file-spec]
Command Qualifiers Defaults
None. None.
15.1 – Restrictions
None.
15.2 – Prompts
Input database: input-database-spec[,...]
Output filee: output-file-spec
15.3 – Parameters
input-database-spec
The name of the database from which to read entries.
output-file-spec
The name of the ASCII file to which to write the entries stored
in the database. If no output file is specified, the output is
written to SYS$OUTPUT.
15.4 – Description
The PMDF DUMPDB utility writes the entries in a PMDF CRDB
database to a flat ASCII file.
15.5 – Examples
The following command illustrates dumping the PMDF alias
database to SYS$OUTPUT.
$ PMDF DUMPDB PMDF_ALIAS_DATABASE
adam.smith asmith@example.com
bob.brown bbrown@example.com
16 – ENCODE
Encodes a binary file into a printable format for transmission
as an e-mail message. Encoded files can be decoded with the
DECODE utility. Both the standard MIME encodings as well as a
few additional encodings (e.g., UUENCODE) are supported.
16.1 – Restrictions
None.
Syntax
PMDF ENCODE input-file-spec encoded-file-spec
Qualifiers Defaults
/ENCODING=type /ENCODING=BASE64
/FILENAME /NOFILENAME
/HEADER /NOHEADER
16.2 – Prompts
Input file: input-file-spec
Output file: encoded-file-spec
16.3 – Parameters
input-file-spec
Specifies the name of an input file. The input file can be any
OpenVMS file including binary files, keyed indexed files, or
files with extended semantics such as DDIF files. Only a single
input file can be specified; wildcards are not allowed.
encoded-file-spec
The name of the file to produce as output. The file output
by ENCODE will contain all of the information necessary to
reconstruct the original input file. The format of the output
file is described in the Description section below.
16.4 – Description
PMDF DECODE and ENCODE have been, for the most part, made
obsolete by PMDF MAIL. If you use PMDF MAIL, then files which
you send with the SEND command will be encoded automatically,
if necessary. Encoded messages which you receive will be decoded
automatically, if necessary, and can simply be extracted to a
file with the EXTRACT command. If, however, you do not use PMDF
MAIL, then read on.
The ENCODE and DECODE utilities are provided with PMDF as a means
of transmitting OpenVMS binary files via MAIL. With ENCODE,
a file can be encoded in a format which uses short records
containing only printable characters. Such files can then be
transmitted through most any mail system without being altered
(e.g., lines wrapped, characters removed or replaced, etc.).
ENCODE preserves all file contents and all file attributes
when encoding a file. The contents and attributes are properly
restored when decoded with DECODE. Absolutely any type of OpenVMS
file can be transmitted with these two utilities - even indexed
files with multiple keys and files with extended semantics such
as DDIF files.
Encoded files have two parts. The first part is a conventional
RFC 822 message header. Header lines are used to describe the
file format; this information includes a conventional OpenVMS
FDL (file description language) description of the file and
a description of the encoding used to convert the file into a
printable form for transfer. ENCODE creates this header; DECODE
reads it and uses the information it contains to reconstruct the
file.
NOTE
Many encoded messages received with PMDF are automatically
decoded for you, thus obviating the need to use PMDF DECODE
at all. This is especially true when you use PMDF MAIL whose
EXTRACT command will extract any MIME encoded message or
message body part. If you use VMS MAIL, however, you can
occasionally receive an encoded message which PMDF could not
deliver in its decoded form to VMS MAIL owing to limitations
of VMS MAIL itself.
16.5 – Qualifiers
16.5.1 /ENCODING
/ENCODING=type
This qualifier controls the type of encoding used to encode the
input file. The possible values for this qualifier are BASE64,
CBASE64 (gzip compressed BASE64), BASE85, BINHEX (encoding only,
not the file format), BTOA, HEXADECIMAL, PATHWORKS, QUOTED_
PRINTABLE, UUENCODE, CUUENCODE (gzip compressed UUENCODE). BASE64
encoding is the default; this is also the default decoding type
used by DECODE.
16.5.2 /FILENAME
/FILENAME
/NOFILENAME (default)
When used in conjunction with the /HEADER qualifier, this
qualifier specifies that the filename should be included in the
MIME headers generated. Only the name and extension portion of
the file specification will be used; any node, device, directory,
and version number information will be discarded. This qualifier
does not specify the input file to use; only the name to use
for the name parameter of the Content-type: header line and the
filename parameter of the Content-disposition: header line. By
default, no filename parameter is specified in the Content-type:
or Content-disposition: header lines.
Or if used with /ENCODING=UUENCODE, the /FILENAME qualifier
causes the filename to be included on the "begin 600" line.
16.5.3 /HEADER
/HEADER
/NOHEADER (default)
This qualifier controls whether or not a MIME-compliant header
is placed at the beginning of the output. /HEADER is the default.
/NOHEADER is used to produce output suitable for use in non-MIME
messaging applications. Note that all structural information
about the file is lost when /NOHEADER is used.
16.6 – Examples
See the example provided for the PMDF DECODE command. In that
example, the use of PMDF ENCODE is also demonstrated.
17 – FOLDER
Place a message file into a VMS MAIL mail folder.
17.1 – Restrictions
None.
Syntax
PMDF FOLDER message-file-spec[,...] [folder-name
[mail-file-spec]]
Qualifiers Defaults
/BLANK /NOBLANK
/CC=address None
/FROM=address See text
/SUBJECT=test None
/TO=address See text
17.2 – Prompts
Message file: message-file-spec[,...]
Folder: folder
Mail file: mail-file-spec
17.3 – Parameters
message-file-spec[,...]
One or more files to place into the specified mail folder;
wildcards are not allowed.
folder-name
Optional name of the VMS MAIL folder in which to place the
message.
mail-file-spec
Optional name of VMS MAIL mail file in which to place the
message.
17.4 – Description
The FOLDER utility is used by the PMDF DELIVER utility to place
mail messages in a user's VMS MAIL mail folder. Read and write
privileges are required to place a message in the mail folder
of another user. This utility is intended primarily for use by
DELIVER; system managers and users are unlikely to find it useful
in and of itself.
All of the specified input files will be placed in the specified
mail folder as a single mail message. Unless the /BLANK qualifier
is specified, there will be no separators placed between each
file as delimiters.
The optional folder-name parameter specifies the name of the VMS
MAIL folder in which to place the message. If not supplied, then
the message will be placed in the NEWMAIL folder.
If the option mail-file-spec parameter is not specified, then the
default mail file for the specified user will be used. If /MM is
used this parameter is meaningless and is not allowed.
17.5 – Qualifiers
17.5.1 /BLANK
/BLANK
/NOBLANK (default)
When placing multiple files into a folder, a blank line can
optionally be used to separate each file. Use the /BLANK
qualifier to select this option; by default no separators are
used.
17.5.2 /CC
/CC
/NOCC (default)
This qualifier can be used to specify the contents of the CC:
line associated with the mail message being created. If no /CC
qualifier is specified, then a blank CC: line will be generated.
17.5.3 /FROM
/FROM
/NOFROM (default)
This qualifier can be used to specify the contents of the FROM:
line associated with the mail message being created. If no /FROM
qualifier is specified, then the FROM: line is blank.
17.5.4 /SUBJECT
/SUBJECT
/NOSUBJECT (default)
This qualifier can be used to specify the contents of the
SUBJECT: line associated with the mail message being created.
If no /SUBJECT qualifier is specified, then a blank SUBJECT: line
will be generated.
17.5.5 /TO
/TO
/NOTO (default)
This qualifier can be used to specify the contents of the TO:
line associated with the mail message being created. If no /TO
qualifier is specified, then the TO: line is blank.
18 – FORWARD
Sets a forwarding address in the PMDF alias database.
18.1 – Restrictions
Nonprivileged users can only set or modify their own alias.
Syntax
PMDF FORWARD [forwarding-address]
Qualifiers Defaults
/ADD /ADD
/USER See text
/SUBADDRESS None
/DELETE /ADD
18.2 – Parameters
forwarding-address
The forwarding address the alias will point at. The address
is specified in RFC 822 format. Quoting might be required to
preserve case or to enclose special characters such as at signs,
@.
18.3 – Description
The FORWARD utility is designed to provide controlled access to
the system alias database for regular unprivileged users. Users
can establish an alias for the address corresponding to their
own username, or any subaddresses associated with their address.
There are no restrictions on what the alias is directed to. A
privileged user can use this utility to set up a system alias for
any address.
If no parameter is given FORWARD simply displays current
forwarding information from the alias database without changing
it.
PMDF FORWARD also checks to see if a logical name of the form
PMDF_forwarding-address_PATTERN is defined. If such a logical
name is defined, PMDF will translate it and use the equivalence
name as the forwarding-address. The equivalence name is also
scanned and the following substitutions are performed:
1. $U and $u are replaced with the username whose forwarding
address is being set. Subaddresses are removed; only the
actual username is substituted.
2. $F and $f are replaced with the address being forwarded. This
includes both the username and any subaddresses.
3. $D and $d are not replaced with anything, but if present set a
flag that causes the alias to be deleted if it already exists.
4. $$ is replaced with a single $; $ followed by any other
character is replaced with just the character.
System managers enable the FORWARD utility by creating an alias
database with the CRDB utility. This can be done with the command
$ PMDF CRDB NLA0: PMDF_ALIAS_DATABASE
Skip this step if you already have an alias database.
18.4 – Qualifiers
18.4.1 /ADD
Add the entry to the database. This is the default action.
18.4.2 /USER
/USER=username
This qualifier is used to specify an alternate user whose alias
is to be modified. The default is to modify an alias for the user
of the FORWARD utility. SYSNAM privilege is required to set an
alias for another user. If using the /USER qualifier, specify it
before any other qualifiers.
18.4.3 /SUBADDRESS
/SUBADDRESS=subaddress
Specifies a subaddress to be set. Subaddresses are addresses
that are explicitly qualified by the username they are associated
with; they have a local-part of the form username+subaddress.
The /SUBADDRESS and /USER qualifiers are mutually exclusive.
Note that subaddresses can be set by using a username of the form
username+subaddress in conjunction with /USER; this qualifier is
simply a convenience for users who want to set subaddresses for
themselves.
18.4.4 /DELETE
The /DELETE qualifier tells FORWARD to delete the specified
alias. No parameter is allowed if this qualifier is used.
18.5 – Examples
Assuming that the logical name PMDF_YMIR_PATTERN has an
equivalence string of $U@YMIR.BITNET, the command
$ PMDF FORWARD/USER=JOHN YMIR
would set up an alias for user NED that translates to the
address JOHN@YMIR.BITNET.
19 – G3
Analyze the contents of a PMDF-FAX G3 file and generate a DDIF
file containing the G3 file's bitmaps.
Syntax
PMDF G3 G3-file-spec [DDIF-file-spec]
Command Qualifiers Defaults
/CDA /CDA
/EDIT None
/INFORMATION /INFORMATION
/MAGNIFICATION=factor /MAGNIFICATION=1
19.1 – Restrictions
o Will only operate on PMDF-FAX G3 files; files with other
formats will be rejected.
o Requires SYSLCK privilege to operate.
o This utility is supplied only with the PMDF-FAX optional
layered product.
19.2 – Prompts
Input file: G3-file-spec
Output file: DDIF-file-spec
19.3 – Parameters
G3-file-spec
The name of a PMDF-FAX G3 file. G3 will check that a proper G3
file is specified and will abort execution when supplied the name
of a non-G3 file. Only a single input file name may be supplied;
wildcards are not allowed.
DDIF-file-spec
The name of a DDIF file (CDA document) to which to write the
input file's bitmaps. This file will be created by G3 and may
subsequently be viewed with the CDA viewer as shown in the
example below. If the /NOCDA or /EDIT qualifies are used, then
this parameter must be omitted.
19.4 – Description
The G3 utility may be used to analyze the contents of a G3 file
in a G3_TO_FAX channel queue directory. In addition, the G3
utility is capable of converting a G3 file to a DDIF file which
may then be viewed with the HP CDA Viewer. If you merely want to
view header and delivery information in a G3 file, then use the
/NOCDA qualifier. This will disable the time-consuming output of
a DDIF file containing the bitmap images stored in the G3 file.
Information about each of the To: recipients in a G3 file may be
edited using the edit mode invoked with the /EDIT qualifier. This
allows incorrect FAX telephone numbers to be edited, delivery to
specific recipients to be cancelled, etc.
NOTE
The G3 utility is part of the PMDF-FAX software product. It
is not part of the base PMDF distribution.
19.5 – Command Qualifiers
19.5.1 /CDA
/CDA (default)
/NOCDA
By default a CDA document is output by G3. This document is
a DDIF file containing the individual bitmaps stored in the
G3 file. When the /CDA qualifier is used, the DDIF-file-spec
parameter must be supplied.
The DDIF-file-spec parameter must be omitted when the /NOCDA
qualifier is specified. The /MAGNIFICATION qualifiers may not be
used in conjunction with the /NOCDA qualifier.
19.5.2 /EDIT
When the /EDIT qualifier is given, the G3 utility operates in
edit mode, presenting each To: address contained in the G3
file for editing. The /CDA, /MAGNIFICATION, and /INFORMATION
qualifiers may not be used in conjunction with the /EDIT
qualifier. In addition, the output DDIF file specification may
not be given when this qualifier is used.
19.5.3 /INFORMATION
/INFORMATION (default)
/NOINFORMATION
By default, information about the G3 file is displayed (e.g.,
the recipients of the FAX message embodied by the G3 file and
the delivery status associated with each recipient). When the
/NOINFORMATION qualifier is used, the display of this information
is suppressed.
19.5.4 /MAGNIFICATION
/MAGNIFICATION=factor
When a CDA document is output, it is scaled to be the same size
as the actual FAX message (approximately 8.5 by 10.5 inches).
This corresponds to a magnification of 1 (a scaling by a factor
of unity). With the /MAGNIFICATION qualifier, the document may be
scaled upwards or downwards by a prescribed scaling factor. For
instance, to reduce the document to half size, use the qualifier
/MAGNIFICATION=0.5. This qualifier may not be used in conjunction
with the /NOCDA qualifier.
19.6 – Examples
The following example illustrates the use of the CDA Viewer to
view the FAX images contained in a G3 file.
$ PMDF G3 PMDF_QUEUE:[g3_to_fax]xyzzy.01 fax.ddif
$ VIEWER/INTERFACE=DECWINDOWS/OVERRIDE fax.ddif
20 – INSTALL
Install or deinstall PMDF images and databases.
Syntax
PMDF INSTALL operation-type
Command Qualifiers Defaults
None. None.
20.1 – Restrictions
Requires CMKRNL privilege.
20.2 – Prompts
Operation: operation-type
20.3 – Parameters
operation-type
The type of operation to perform. May be one of ADD, CREATE,
DELETE, LIST, REMOVE, or REPLACE.
20.4 – Description
The PMDF INSTALL utility is used to install or deinstall PMDF
images. This utility invokes the command file IMAGE_INSTALL.COM
with a command of the form
$ @PMDF_COM:image_install.com PMDF operation-type
where OPERATION-TYPE is one of ADD, CREATE, DELETE, LIST, REMOVE,
or REPLACE. Each of these operations corresponds to the OpenVMS
INSTALL utility operation of the same name; consult the OpenVMS
Install Utility Reference Manual for descriptions of these
operations. IMAGE_INSTALL.COM invokes the OpenVMS INSTALL utility
and executes the operation OPERATION-TYPE for each file specified
in the the file PMDFIMAGE.DAT in the PMDF_COM: directory.
(Exclamation marks are used in that file to introduce comments.)
The PMDFIMAGE.DAT file is reserved for PMDF use and should
not be modified. PMDF INSTALL will also use an optional, site-
supplied PMDF_COM:SITEIMAGE.DAT file, of the same format as the
PMDFIMAGE.DAT file, listing additional site-specific files. Thus
sites that want to install additional, site-specific PMDF images,
should do so by adding them to their own SITEIMAGE.DAT file.
Note that the PMDF startup procedure installs PMDF at system
startup by issuing the command
$ @PMDF_COM:image_install.com PMDF CREATE
The PMDF INSTALL command is not used by the startup procedure
since not all sites insert the PMDF verb into their system DCL
tables.
CMKRNL privilege is required to use the PMDF INSTALL utility.
20.5 – Examples
The following command may be used to deinstall any installed
PMDF images:
$ PMDF INSTALL DELETE
21 – KILL
Kill all PMDF component processes.
Syntax
PMDF KILL
Command Qualifiers Defaults
None. None.
21.1 – Restrictions
Must have privileges sufficient to perform a STOP/ID upon the
processes in question.
21.2 – Parameters
None.
21.3 – Description
The PMDF KILL utility prompts you for each PMDF process and asks
if you want to kill it.
The PMDF KILL utility immediately and indiscriminately kills the
specified process (using STOP/ID), even if that process is in
the middle of transferring e-mail. So use of the PMDF SHUTDOWN
utility, which performs an orderly shutdown, is generally
preferable.
22 – LICENSE
Activate or deactivate PMDF bundle licenses on a node.
Syntax
PMDF LICENSE operation-type
Command Qualifiers Defaults
None. None.
22.1 – Restrictions
Requires SYSNAM and CMEXEC privileges.
22.2 – Prompts
Operation: operation-type
22.3 – Parameters
operation-type
The type of operation to perform. May be one of LOAD or UNLOAD.
22.4 – Description
The PMDF LICENSE utility is used to activate (load) or deactivate
(unload) a PMDF license Product Authorization Key (PAK) on a
given OpenVMS system. The PMDF license PAK must already be loaded
with the OpenVMS LICENSE utility. However, that is not sufficient
to activate the license. PMDF's model for debitting license usage
units (based upon CPU type) differs from HP's. Because of this
difference, an additional utility-the PMDF LICENSE utility - is
required to properly debit usage units from a PMDF license PAK.
Normally the PMDF LICENSE utility is run at system startup by the
PMDF_STARTUP.COM command procedure. However, it may also be run
manually. When it is used to unload a license, the usage units
used by that machine are made available for use by other systems
in the cluster.
Note that the use of the OpenVMS LICENSE utility is sufficient
for loading and activating license PAKs for PMDF-MTA, PMDF-
DIRSYNC, PMDF-FAX, PMDF-LAN, PMDF-MB400, PMDF-MR, PMDF-MSGSTORE,
PMDF-POPSTORE, PMDF-TLS, PMDF-X400, and PMDF-XGS. The PMDF
LICENSE utility does not need to be (and cannot be) used to
activate license PAKs for PMDF-MTA or the listed layered
products.
22.5 – Examples
To activate a PMDF license, use the command
$ PMDF LICENSE LOAD
%PMDF-I-LOADED, 1 license unit loaded
Had the license already of been activated then the
informational message
%PMDF-I-ALREADY, 1 license unit already loaded
would have been displayed. To deactivate a license, use the
command
$ PMDF LICENSE UNLOAD
%PMDF-I-UNLOADED, 1 license unit unloaded
23 – LIST Servers
PMDF provides a combined mail and list server, referred to in
this document as a "mail server". Mail servers are used to
distribute files via e-mail and allow users to subscribe or
unsubscribe from mailing lists. If your system manager has
configured a mail server at your site, then you can query the
server via e-mail to determine what files and mailing lists are
available.
23.1 – Using Servers
Commands directed to a mail server take the form of a mail
message addressed to
mailserv@mail-server-host
where MAIL-SERVER-HOST is the host name of the machine running
the mail server. You need to obtain this name from your system
manager. The text of the message contains mail server commands,
one command per line.
For example, suppose the address of a mail server is
mailserv@example.com. To obtain a help message from the server
as well as a list of the available files and mailing lists, you
would send a message much like the one shown below.
Example 1 Sending Commands to a Mail Server
$ MAIL
MAIL> SEND
To: in%"mailserv@example.com"
Subj:
Enter your message below. Press CTRL/Z when complete, CTRL/C to quit:
HELP
INDEX
LISTS
<CTRL/Z>
MAIL> EXIT
$
After a short while, you will receive back three messages from
the mail server: the first message in response to the HELP
command, the second in response to the INDEX command, and
the third in response to the LISTS command. If your command
specifications are in error, then the mail server will send you
an error notification.
Typically, mail from the mail server will have a reply address
which differs from the address you use to send commands to
it. This is intentional and is done to prevent potential mail
loops. One consequence of this is that you cannot direct further
commands to the server by replying to messages from it. You must
always initiate a new message with the send command; you cannot
use the reply command.
A brief description of the available commands is given in the
table below; complete descriptions are described under the
"Commands" subtopic. Lines beginning with an exclamation point,
!, are interpreted as comment lines.
Table 2 Summary of Mail and List Server Commands
Command Description
CONFIRM Confirm a command from a previous message
DIRECTORY Obtain directory listing of available files
DIRECTORY/LIST Obtain directory listing of available mailing
lists
ENCODING Set default file transmission encoding
END Terminate processing, accept no additional
commands
EXIT (see END) Same as END
FINISH (see Same as END
END)
HELP Retrieve the server-specific help information
INDEX Retrieve the index of available files
LISTS Retrieve the index of available mailing lists
MAXIMUM Set maximum message size; large messages will be
divided into several messages, each smaller than
this size
MODE Set the default file reading mode
PURGE/LIST Purge comment lines (such as unsubscribed
addresses) from the membership list
QUIT (see END) Same as END
SEND Retrieve the specified files
SEND/LIST Retrieve the membership list for a given mailing
list
SEND/LIST/COMMENTRetrieve the membership list for a given mailing
(see SEND/LIST) list, including members' RFC 822 comment fields
SEND/LIST/NOCOMMERetrieve the membership list for a given mailing
(see SEND/LIST) list, stripping members' RFC 822 comment fields
STOP (see END) Same as END
SUBSCRIBE Subscribe to a mailing list
UNSUBSCRIBE Unsubscribe from a mailing list
23.2 – Commands
Note that while there is a fair amount of commonality amongst
the commands accepted by many of the different mail servers,
differences also exist. Do not expect PMDF mail server commands
to work with other mail servers and do not expect other mail
server commands to work with PMDF mail servers. When you are
unsure of what sort of mail server you are dealing with, the
first order of business should be obtaining help information for
that server. Often this can be done by sending the command HELP
to the server.
23.2.1 – CONFIRM
Confirm a command from a previous message.
Syntax
CONFIRM cookie
23.2.1.1 – Parameters
cookie
Required cookie string to confirm the command.
23.2.1.2 – Description
The CONFIRM command is used to confirm for MAILSERV the execution
of a command from a previous message.
That is, for security your system administrators might have
configured MAILSERV to require confirmation of certain commands.
If you receive a message from MAILSERV saying that you need to
send a
CONFIRM cookie-string
message back to MAILSERV in order for it to perform some
particular command you previously requested, then if you want
that command executed you must send back exactly
CONFIRM cookie-string
where COOKIE-STRING is the exact string MAILSERV tells you to
send for that command.
Note that you should send a new message back to MAILSERV
containing the required CONFIRM command, rather than simply
resending or bouncing MAILSERV's own message back to MAILSERV (to
ensure that you hear about any errors in processing your CONFIRM
command).
Note that if you receive a message from MAILSERV talking about
confirming a command that you did not send yourself, then that
might mean that someone is attempting masquerade as you in
e-mail and you might want to take this up with your system
administrators.
23.2.1.3 – Error messages
%MAILSERV-F-NOCOOKIE, There is no confirmation-
pending command labelled
There was no command corresponding to such a cookie string
awaiting confirmation. Check that you entered the cookie
correctly.
23.2.2 – DIRECTORY
Obtain a directory listing of the available files.
Syntax
DIRECTORY [file-spec]
23.2.2.1 – Parameters
file-spec
Optional file name specification indicating which files to obtain
a directory listing of. All OpenVMS file and directory wild cards
are supported. A directory specification can be used; no device
name or root directory specification is allowed.
23.2.2.2 – Description
The DIRECTORY command provides a directory listing of the
available files. The listing is returned to you as a mail
message.
The file-spec parameter is optional and, if omitted, defaults
to "*". If you are unsure of what to use, omit the parameter and
send simply the command
DIRECTORY
This will provide you with a list of the files and directories
in the top-level directory of the mail server. You can then
this information to refine your queries; e.g., investigate the
contents of an intriguing directory,
DIRECTORY [GAMES...]
23.2.2.3 – Error messages
%MAILSERV-W-NOFILES, no files found
The supplied file specification does not match any available
files.
%MAILSERV-F-NOFILESERV, file service is not enabled
The mail server is not configured to operate as a file server.
%MAILSERV-W-WRITEERR, file writing error
An error occurred while the server was producing your directory
listing. Try resending the command at a later time.
23.2.2.4 /LIST
Obtain a listing of the available mailing lists.
Syntax
DIRECTORY/LIST [list-spec]
23.2.2.4.1 – Parameters
list-spec
Optional mailing list specification indicating which mailing
lists to obtain a listing of. OpenVMS wild cards are supported.
23.2.2.4.2 – Description
The DIRECTORY command provides a listing of the available mailing
lists.
The list-spec parameter is optional and, if omitted, defaults to
"*". Generally, there is no need to use this parameter unless you
are interested in a specific mailing list. For instance, if you
merely want to know if there is a mailing list about zeugmes, you
might use the command
DIRECTORY/LIST *ZEUGME*
This will provide you with the names of any mailing lists which
contain the phrase "zeugme" in them. Note that just because a
mailing list is available does not necessarily mean that you can
subscribe to it. The site might have established restrictions
governing who can or cannot subscribe to some or all mailing
lists.
23.2.2.4.3 – Error messages
%MAILSERV-W-NOLISTS, no lists found
The supplied mailing list specification does not match any
available mailing lists.
%MAILSERV-F-NOMAILLIST, mailing lists are not enabled
The mail server is not configured to operate as a list server.
%MAILSERV-W-WRITEERR, file writing error
An error occurred while the server was producing your listing
of mailing lists. Try resending the command at a later time.
23.2.3 – ENCODING
Specify the file encoding to use.
Syntax
ENCODING encoding
23.2.3.1 – Parameters
encoding
Required parameter specifying the file encoding to use. The
available encodings are: 8BIT, 7BIT, BASE32, BASE64, CBASE64
(gzip compressed BASE64), BASE85, BINHEX (encoding only, not
the BINHEX file format), BTOA, HEXADECIMAL, PATHWORKS, QUOTED_
PRINTABLE, UUENCODE, and CUUENCODE (gzip compressed UUENCODE).
23.2.3.2 – Description
Binary files cannot be transmitted directly as electronic mail;
they must first be encoded into a "printable" format. This,
of course, means that they must be decoded upon receipt. The
ENCODING command is used to specify the encoding to be applied
to files requested with the SEND command. When selecting an
encoding, be sure to select an encoding which you can decode.
If your mail is handled by PMDF, then you can decode any of the
encodings offered by PMDF mail servers.
The encoding specified with the ENCODING command applies to
all subsequent SEND commands in the same message. It can be
overridden with a subsequent ENCODING command or, on a per
command, basis with the SEND command's /ENCODING qualifier. And,
of course, encodings established in previous messages sent to
the server have no effect on subsequent messages which you might
send.
The BASE64 and QUOTED_PRINTABLE encodings are described in RFC
2045 (MIME, Part One). The HEXADECIMAL encoding is a simple
hexadecimal encoding of the data. The data is encoded in 8 bit
byte order. Each 8 bit byte is represented with two characters;
the first character describes the high four bits and the second
describes the low four bits. The UUENCODE encoding is compatible
with the popular UUENCODE and UUDECODE utilities.
BASE64 is usually the best encoding to use: it is most likely
to survive any mangling that might occur as the mail message
works its way through the networks to you (e.g., line wrapping,
character set translation, space stripping, etc.).
23.2.3.3 – Examples
The commands,
ENCODING BASE64
MODE BLOCK
SEND [.GIF]BOATS*.GIF
SEND/MODE=TEXT [GIF]INDEX.TXT
set the default encoding to BASE64 and the default file
reading mode to BLOCK. Any files matching the specification
[GIF]BOATS*.GIF will be sent using these defaults. However, the
file [GIF]INDEX.TXT will be sent as an ordinary text file owing
to the use of the /MODE=TEXT qualifier.
23.2.3.4 – Error messages
%MAILSERV-W-INSFPRM, missing command parameters
You failed to supply the name of the encoding to use. Resend
the command with a valid encoding name specified.
%MAILSERV-W-IVKEYW, unrecognized keyword - check validity and spelling
You specified an unknown encoding. Resend the command with a
valid encoding name specified.
23.2.4 – END
Terminates command processing.
Syntax
END
23.2.4.1 – Description
The END command and its synonyms EXIT, FINISH, QUIT, and STOP all
cause MAILSERV command processing to be terminated. The remainder
of the message is discarded without any additional processing.
23.2.5 – HELP
Obtain help on using the mail server.
Syntax
HELP
23.2.5.1 – Description
The HELP command returns a description of the commands recognized
by the mail server.
23.2.5.2 – Error messages
%MAILSERV-F-HLPNOTAVA, Help for server is presently unavailable
No help information is currently available. This may or may not
be a temporary condition.
%MAILSERV-W-MAXPARM, too many parameters
You supplied a parameter after the HELP command. The HELP
command does not accept any parameters (e.g., does not take
a "topic" parameter).
23.2.6 – INDEX
Obtain an index of the available files.
Syntax
INDEX
23.2.6.1 – Description
The INDEX command returns an index describing the files that the
mail server can provide with the SEND command. This description
might not give the names of each and every available file;
for such information use the DIRECTORY command. The index is,
typically, a simple description of some of the available files
and, perhaps, a description of each of the top-level directories.
23.2.6.2 – Error messages
%MAILSERV-F-INDNOTAVA, Index for server is presently unavailable
No file index information is currently available. This may
or may not be a temporary condition. Try using the DIRECTORY
command in the meantime.
%MAILSERV-W-MAXPARM, too many parameters
You supplied a parameter after the INDEX command. The INDEX
command does not accept any parameters. Resend the command
without any parameters.
23.2.7 – LISTS
Obtain an index of the available mailing lists.
Syntax
LISTS
23.2.7.1 – Description
The LISTS command returns an index describing the mailing lists
that the mail server handles. This description might not give
the names of each and every available mailing list; for such
information use the DIRECTORY/LIST command. The index is, more
often than not, a simple description of the mailing lists handled
by the server. It might also describe any policies associated
with the lists (e.g., who can subscribe, how to post to the list,
etc.).
23.2.7.2 – Error messages
%MAILSERV-F-LSTNOTAVA, Index of lists is presently unavailable
No mailing list index information is currently available.
This may or may not be a temporary condition. Try using the
DIRECTORY/LIST command in the meantime.
%MAILSERV-F-NOMAILLIST, mailing lists are not enabled
The mail server is not configured to operate as a list server.
%MAILSERV-W-MAXPARM, too many parameters
You supplied a parameter after the LISTS command. The LISTS
command does not accept any parameters. Resend the command
without specifying any parameter.
23.2.8 – MAXIMUM
Set the maximum message size; larger messages will be split into
several smaller messages.
Syntax
MAXIMUM size-units size-value
23.2.8.1 – Parameters
size-units
Required parameter specifying the units in which the size-value
is expressed. The possible units are BYTES, BLOCKS, and LINES.
size-value
Required parameter specifying the limiting value. This must be an
integer value which exceeds zero.
23.2.8.2 – Description
Many gateways impose a limit on the maximum size message they
will process. Because the mail server is often called upon
to transmit large files it frequently can run afoul of such
limitations.
The MAXIMUM command provides a way around such limitations. When
a maximum size is set, messages larger than that size will be
fragmented (split) into multiple messages, each message no larger
than the specified maximum size. The fragmentation scheme is
compliant with the message/partial type described in RFC 2046
(MIME, Part Two).
The possible values for size-units are:
BYTES size-value specifies the maximum number of bytes allowed
in a single message. This value includes the initial
header attached to the message. (Note that the header
can increase in size through the addition of header lines
during routing.)
BLOCKS size-value specifies the maximum number of "blocks" of
bytes allowed in a single message. The size of a block
is a PMDF configuration option controlled by the system
manager with the PMDF BLOCK_SIZE option; its default value
is 1024 bytes. As with BYTES, this value includes the
initial header attached to the message.
LINES size-value specifies the maximum number of lines allowed
in a single message. This limit is independent of the
number of bytes or blocks. It is necessary to have an
independent limit because some gateways limit message size
based on both line count as well as overall size.
The limits specified with the MAXIMUM command apply to all
subsequent SEND commands in the same message. The imposed limits
can be overridden with a subsequent MAXIMUM command. And, of
course, limits you imposed in previous messages sent to the
server have no effect on subsequent messages which you might
send.
Both line count and byte size limits can be simultaneously
imposed. For instance, the two commands:
MAXIMUM BYTES 10000
MAXIMUM LINES 1000
Will result in messages larger than either 10,000 bytes or 1,000
lines being automatically fragmented into smaller messages, each
containing fewer than 10,000 bytes and 1,000 lines.
See the SEND command description for further information on the
usage of this command.
23.2.8.3 – Error messages
%MAILSERV-W-IVKEYW, unrecognized keyword -
check validity and spelling
You specified an unknown unit specification. Resend the command
specifying a legal value for the size-units parameter.
%MAILSERV-W-NUMBER, invalid numeric value - supply an integer
An invalid numeric value was supplied for the size-value
parameter. Resend the command specifying a positive integer
value.
%MAILSERV-W-POSITIVE, invalid numeric value - supply a positive integer
An invalid numeric value was supplied for the size-value
parameter. Resend the command specifying a positive integer
value.
%MAILSERV-W-INSFPRM, missing command parameters
You failed to specify one or both of the required parameters.
Resend the command specifying both the size-units and size-
value parameters.
23.2.9 – MODE
Set the file reading mode.
Syntax
MODE mode
23.2.9.1 – Parameters
mode
Required parameter specifying the file reading mode in which
files are to be accessed. There are four supported modes: TEXT,
BLOCK, RECORD, and RECORD-ATTRIBUTE.
23.2.9.2 – Description
Under OpenVMS, files can be read (accessed) in a variety of
ways. The MODE command controls the method used to read the
files the mail server returns. Note that default modes apply
automatically to various sorts of files; this command provides a
way to override these defaults.
The possible values for mode are:
TEXT Read files as ordinary text files. In TEXT mode,
files are read as a sequence of records and sent
as ordinary text. TEXT mode is the default for
files when no other mode has been set.
BLOCK Read files as raw binary data. Any record
boundary information, including carriage returns,
line feeds, line length counts, and indexing
information for indexed files simply becomes
part of the data. The resulting data typically
can only be used on the computer system it is
intended for. (Note that this not necessarily
restricted to OpenVMS; it is possible to store
files intended for other systems as VMS files.)
This is the recommend mode to use for binary
files.
RECORD Read files as a series of records. No record
boundaries of any kind appear in the output data.
This mode is appropriate for fixed length records
or records that are internally self-delimiting.
RECORD- Read files as a series of records. If the record
ATTRIBUTE attributes of the file indicate that boundaries
should be placed between the records (i.e.,
some form of carriage control is requested), a
boundary delimiter will be placed between each
record. This character is normally a line feed.
The reading mode specified with the MODE command applies to
all subsequent SEND commands in the same message. It can be
overridden with a subsequent MODE command or, on a per command,
basis with the SEND command's /MODE qualifier. And, of course,
reading modes established in previous messages sent to the server
have no effect on subsequent messages which you might send.
See the SEND command description for further information on the
usage of this command.
23.2.9.3 – Examples
The commands,
MODE BLOCK
ENCODING BASE64
SEND [.GIF]BOATS*.GIF
SEND/MODE=TEXT [GIF]INDEX.TXT
set the default reading mode to BLOCK and the default file
encoding to BASE64. Any files matching the specification
[GIF]BOATS*.GIF will be sent using these defaults. However,
the file [GIF]INDEX.TXT will be sent as an ordinary text file
owing to the use of the /MODE=TEXT qualifier.
23.2.9.4 – Error messages
%MAILSERV-W-IVKEYW, unrecognized keyword -
check validity and spelling
You specified an unknown mode. Resend the command specifying a
legal value for the mode parameter.
%MAILSERV-W-INSFPRM, missing command parameters
You failed to specify the mode parameter. Resend the command
specifying a legal value for the mode parameter.
23.2.10 – PURGE
23.2.10.1 /LIST
Remove comment lines from a mailing list file.
Syntax
PURGE/LIST list-name
23.2.10.1.1 – Parameters
list-name
Required parameter specifying the name of the list from which
comment lines are to be removed. Wildcards are not allowed.
23.2.10.1.2 – Description
Mailing list files can contain comment lines. In particular,
unsubscribed addresses are normally indicated via comment lines
in the file. The PURGE/LIST command causes such comment lines
to be removed, which can be useful to "clean up" the mailing
list file for a list which has undergone a great many changes in
membership.
23.2.10.1.3 – Examples
The commands,
PURGE/LIST fads-list
SEND/LIST fads-list
causes the fads-list mailing list membership file to have
comment lines removed from the file, and then a copy of the
file is requested.
23.2.10.1.4 – Error messages
%MAILSERV-W-CANTDELETE, cannot delete old mailing list file
An error occurred while trying to delete the old mailing list
file. Try again later; the postmaster in charge of the mail
server has been notified.
%MAILSERV-W-CANTUPDATE, cannot update mailing list file
An error occurred while trying to update the mailing list file.
Try again later; the postmaster in charge of the mail server
has been notified.
%MAILSERV-W-FLK, file currently locked by another user
The specified mailing list file is not currently accessible.
Try again later.
%MAILSERV-W-INSFPRM, missing command parameters
You failed to specify the list-name parameter. Resend the
command specifying a legal value for the list-name parameter.
%MAILSERV-W-LNF, mailing list not found
The mailing list you specified does not exist. Resend the
command specifying the name of a valid mailing list. You can
use the DIRECTORY/LIST command to obtain a listing of the valid
mailing list names.
%MAILSERV-W-LSTCREERR, unable to create new mailing list
The mailing list specified by the list-name parameter does not
exist and could not be created. Check to make sure that you
specified the correct list name.
%MAILSERV-F-NOMAILLIST, Mailing lists are not enabled
The mail server is not configured to operate as a list server.
%MAILSERV-W-PRV, insufficient privilege or file protection violation
You are not allowed to purge this mailing list. The MAILSERV_
ACCESS mapping can be used to change the default behavior of
the MAILSERV PURGE/LIST command. Please refer to the Mail and
list server section of the PMDF System Manager's Guide.
23.2.11 – SEND
Retrieve one or more files from the server.
Syntax
SEND file-spec extension
Qualifiers Defaults
/ENCODING=encoding None
/MODE=mode /MODE=TEXT
23.2.11.1 – Parameters
name
Required parameter specifying the file or files to send. This
parameter can include a directory specification, but must include
a file name. OpenVMS wild cards are allowed in both the directory
and file specification.
extension
Optional parameter which can be used to specify the extension of
the file to be sent.
23.2.11.2 – Description
The SEND command sends the requested files back to you via
electronic mail. Wild cards can be used in the file-spec
parameter to specify multiple files. Each file is sent as a
separate message.
The optional extension parameter is supplied for compatibility
with BITNET's LISTSERV file servers. When supplied, a period
followed by the value of this parameter will be appended to the
value of the file-spec parameter to form the actual file name to
use. For instance, the command
SEND NEWTAGS DESCRIPT
is interpreted as a request for the file NEWTAGS.DESCRIPT and is
equivalent to the command
SEND NEWTAGS.DESCRIPT
Large files can automatically be split into multiple smaller
files prior to transmission; see the description of the MAXIMUM
command for specific details. When the MAXIMUM command is used,
it must be specified prior to the SEND command; e.g.,
MAXIMUM BYTES 10000
MAXIMUM LINES 1000
SEND [BOOK]CHAPTER*.TXT
Files can be read in a variety of ways; this can be controlled
with the MODE command or the /MODE qualifier. Files containing
non-text information must be encoded in some way; the ENCODING
command or the /ENCODING qualifier control the encoding used.
When using the MODE and ENCODING commands, be sure to specify
them before the SEND command requiring their use.
Use the DIRECTORY and INDEX commands to obtain information on
available files which can be obtained with the SEND command.
23.2.11.3 – Qualifiers
23.2.11.3.1 /ENCODING
/ENCODING=encoding
The /ENCODING qualifier specifies the encoding to use for this
particular file. It does not establish any default for future
SEND commands, but it overrides any default set with the ENCODING
command for this particular SEND command. The value is required
and must be one of the values the ENCODING command accepts.
23.2.11.3.2 /MODE
/MODE=mode
The /MODE qualifier specifies the mode to use for this particular
file. It does not establish any sort of default for future SEND
commands, but it overrides any default set with the MODE command
for this particular SEND command. The value is required and must
be one of the values the MODE command accepts.
23.2.11.4 – Examples
1.$ MAIL
MAIL> SEND
To: in%"mailserv@example.com"
Subj:
Enter your message below. Press CTRL/Z when complete, or CTRL/C to quit:
SEND [FONTS]README.TXT
<CTRL/Z>
MAIL> EXIT
$
In this example, a simple request with a single command is sent
to the mail server mailserv@example.com. This single command
requests that the file [FONTS]README.TXT be sent.
2.$ MAIL
MAIL> SEND
To: in%"mailserv@example.com"
Subj:
Enter your message below. Press CTRL/Z when complete, or CTRL/C to quit:
MAXIMUM BYTES 10240
SEND/MODE=BLOCK/ENCODING=BASE64 [FONTS]ADOBE35.PFB-Z
<CTRL/Z>
MAIL> EXIT
$
In this example, a large binary file is being requested. The
/MODE and /ENCODING qualifiers are used to request that the
file be interpreted as raw binary data and sent in an encoded
format. The MAXIMUM command is used to fragment the encoded
file into several small messages, each no larger than 10K
(10,240 bytes).
23.2.11.5 – Error messages
%MAILSERV-W-FLK, file currently locked by another user
One or more of the requested files is not currently accessible.
Try again later.
%MAILSERV-W-INSFPRM, missing command parameters
You failed to supply the name of the files to send. You must
supply a file specification. Resend the command with a file
specification.
%MAILSERV-W-IVKEYW, unrecognized keyword - check validity and spelling
You specified an unknown encoding or reading mode. Resend
the command using a legal encoding or reading mode with the
/ENCODING or /MODE qualifier.
%MAILSERV-W-NOFILES, no files found
Supplied file specification does not match any available files.
Use the DIRECTORY command to obtain a listing of the available
files.
%MAILSERV-F-NOFILESERV, file service is not enabled
The mail server is not configured to operate as a file server.
%MAILSERV-W-PRV, insufficient privilege or file protection violation
You are not allowed access to one or more of the requested
files.
%MAILSERV-W-VALREQ, missing qualifier or keyword value
You failed to supply a value with the /ENCODING or /MODE
qualifier. Resend the command with a value specification.
Return a list of the current subscribers to a particular mailing
list.
Syntax
SEND/LIST list-name
Qualifiers Defaults
/COMMENTS See text
23.2.11.5.1 – Parameters
list-name
Required parameter specifying the name of the list whose
subscribers are to be returned. Wild cards are not allowed.
23.2.11.5.2 – Description
The SEND/LIST command responds with a message containing a list
of the current subscribers to a given mailing list.
23.2.11.5.3 – Qualifiers
23.2.11.5.3.1 /COMMENTS
/COMMENTS
/NOCOMMENTS
When /COMMENTS is specified, comment fields associated with each
subscribed address will also be returned. Specify /NOCOMMENTS
to have these fields stripped from the listing sent to you.
The default behavior can vary from list to list. Generally the
default behavior is to include the comments.
Note that in RFC 822 addresses, comments are completely
superfluous and it should be possible to strip any or all
comments from an address without breaking the address. However,
there are known to be mailers which stupidly put critical
information into comment fields with the expectation that the
comments will not be stripped or altered. Addresses for such
mailers can be rendered unreplyable by removing the comment
fields from them.
23.2.11.5.4 – Error messages
%MAILSERV-W-INSFPRM, missing command parameters
You failed to specify the mailing list name. Resend the command
specifying the name of the mailing list whose membership list
you want to obtain.
%MAILSERV-W-LNF, list not found
The mailing list you specified does not exist. Resend the
command specifying the name of a valid mailing list. You can
use the DIRECTORY/LIST command to obtain a listing of the valid
mailing list names.
%MAILSERV-F-NOMAILLIST, mailing lists are not enabled
The mail server is not configured to operate as a list server.
%MAILSERV-W-PRV, insufficient privilege or file protection violation
You are not allowed to retrieve the list of subscribers to this
mailing list. The MAILSERV_ACCESS mapping can be used to change
the default behavior of the MAILSERV SEND/LIST command. Please
refer to the Mail and list server section in the PMDF System
Manager's manual.
%MAILSERV-W-WRITEERR, file writing error
An error occurred while the mail server was writing the message
to you. Try resending this command at a later time.
23.2.12 – SUBSCRIBE
Subscribe to a mailing list.
Syntax
SUBSCRIBE list-name [[personal-name] address]
23.2.12.1 – Parameters
list-name
Required parameter specifying the name of the mailing list to
subscribe to. Wild cards are not allowed.
personal-name
Optional parameter specifying the personal name for the address
to subscribe to the mailing list. If this parameter is omitted,
no personal name information will be included in the subscribed
address.
address
Optional parameter specifying the fully-qualified address to
subscribe to the mailing list. If no address is specified, the
From: address from the requesting message will be used.
23.2.12.2 – Description
The SUBSCRIBE command adds either your address or a specified
address to the specified mailing list. A response message
reporting the success or failure of the subscription request will
be returned. If the file PMDF_MAILSERV_MAIL_DIR:list-name.TXT
exists, it will be sent to you.
Use the UNSUBSCRIBE command to subsequently unsubscribe from a
mailing list; use the DIRECTORY/LIST or LISTS command to obtain
information on available mailing lists.
Note that some mail servers can impose restrictions as to who may
or may not subscribe to a given list.
23.2.12.3 – Examples
1.SUBSCRIBE LOCAL-NEWS
This example shows the command to SUBSCRIBE oneself to the list
LOCAL-NEWS.
2.SUBSCRIBE LOCAL-NEWS "John Doe" <jdoe+local-news@example.com>
This example shows the user jdoe@example.com subscribing the
address "John Doe" <jdoe+local-news@example.com> to the list
LOCAL-NEWS. That is, this example shows a subscription request
using a more formal address format, one that includes an RFC
822 personal name as well as the actual address, and where
the address includes a subaddress; see for more details about
subaddresses.
23.2.12.4 – Error messages
%MAILSERV-W-
ALREADYSUB, address is already subscribed to the mailing list
You are already subscribed to the mailing list. If you used
the optional address parameter, then the specified address is
already subscribed. Check to make sure that you specified the
correct mailing list name or address or both.
%MAILSERV-W-CANTDELETE, cannot delete old mailing list file
An error occurred while trying to delete the old mailing list
file. Try again later; the postmaster in charge of the mail
server has been notified.
%MAILSERV-W-CANTUPDATE, cannot update mailing list file
An error occurred while trying to update the mailing list. Try
again later; the postmaster in charge of the mail server has
been notified.
%MAILSERV-W-ILLADDRESS, illegal address
You specified an illegal or invalid address for the optional
address parameter. Resend the command either omitting the
address entirely or specifying a valid address.
%MAILSERV-W-INSFPRM, missing command parameters
You failed to supply the name of the mailing list to subscribe
to. Resend the command with a list name specification.
%MAILSERV-W-LNF, list not found
The mailing list you specified does not exist. Resend the
command specifying the name of a valid mailing list. You can
use the DIRECTORY/LIST command to obtain a listing of the valid
mailing list names.
%MAILSERV-W-LSTCREERR, unable to create new mailing list
The mailing list specified by the list-name parameter does not
exist and could not be created. Check to make sure that you
specified the correct list name.
%MAILSERV-W-LSTLOCKED, mailing list currently locked by another user
The mailing list is currently locked; you cannot subscribe to
it at this time. Try resending the command again later.
%MAILSERV-F-NOMAILLIST, mailing lists are not enabled
The mail server is not configured to operate as a list server.
%MAILSERV-W-PRV, insufficient privilege or file protection violation
You are not allowed to subscribe to this mailing list.
23.2.13 – UNSUBSCRIBE
Unsubscribe from a mailing list.
Syntax
UNSUBSCRIBE list-name [address]
23.2.13.1 – Parameters
list-name
Required parameter specifying the name of the mailing list to
unsubscribe from Wild cards are not allowed.
address
Optional parameter specifying the address to remove from the
mailing list. If no address is specified, the From: address from
the requesting message will be used.
23.2.13.2 – Description
The UNSUBSCRIBE command removes either your address or the
address you specify from the specified mailing list. A response
message reporting the success or failure of the unsubscribe
request will be returned.
Typically, the use of the optional address parameter is
restricted.
23.2.13.3 – Error messages
%MAILSERV-W-CANTDELETE, cannot delete old mailing list file
An error occurred while trying to delete the old mailing list
file. Try again later; the postmaster in charge of the mail
server has been notified.
%MAILSERV-W-CANTUPDATE, cannot update mailing list file
An error occurred while trying to update the mailing list. Try
again later; the postmaster in charge of the mail server has
been notified.
%MAILSERV-W-ILLADDRESS, illegal address
You specified an illegal or invalid address for the optional
address parameter. Resend the command either omitting the
address entirely or specifying a valid address.
%MAILSERV-W-INSFPRM, missing command parameters
You failed to supply the name of the mailing list to
unsubscribe from. Resend the command with a list name
specification.
MAILSERV-W-LNF, mailing list not found
The mailing list you specified does not exist. Resend the
command specifying the name of a valid mailing list. You can
use the DIRECTORY/LIST command to obtain a listing of the valid
mailing list names.
%MAILSERV-W-LSTCREERR, unable to create new mailing list
The mailing list specified by the list-name parameter does not
exist and could not be created. Check to make sure that you
specified the correct list name.
%MAILSERV-W-LSTLOCKED, mailing list currently locked by another user
The mailing list is currently locked; you cannot unsubscribe
from it at this time. Try again later.
%MAILSERV-F-NOMAILLIST, mailing lists are not enabled
The mail server is not configured to operate as a list server.
%MAILSERV-W-NOSUCHADR, no such address subscribed to the mailing list
You are not subscribed to the specified mailing list. If you
used the optional address parameter, then the specified address
is not subscribed. Check to make sure that you specified the
correct mailing list name or address or both.
%MAILSERV-W-PRV, insufficient privilege or file protection violation
You are not allowed to unsubscribe from this mailing list or
unsubscribe addresses other than your own from the list.
24 – MAIL Command
Invoke the PMDF MAIL utility.
Syntax
PMDF MAIL [file-spec[,...] recipient-address[,...]]
Qualifiers Defaults
/ABORT See text
/BCC_LIST=addresses None
/BCC_PROMPT /NOBCC_PROMPT
/BLOCK See text
/CAPTIVE See text
/CC_LIST=addresses None
/CC_PROMPT /NOCC_PROMPT
/COMMENTS=comments None
/CONFIRM=keyword /CONFIRM=NONE
/EDIT=keyword /EDIT=NONE
/ENCAPSULATE=keyword None
/ENCODING=encoding See text
/ENTIRE=keyword /PART=ALL
/FILENAME /NOFILENAME
/FILTER_CTRL /NOFILTER_CTRL
/FROM=address None
/IGNORE See text
/LIST /NOLIST
/MESSAGE=keyword /PART=ALL
/MULTIPLE /SINGLE
/PART=keyword /PART=ALL
/PERSONAL_NAME=name None
/PREVALIDATE /NOPREVALIDATE
/PRIORITY=priority None
/RECORD See text
/REMOVE=keyword /REMOVE=NONE
/REPEATED /REPEATED
/REPLY_TO=address None
/SCAN_COMMANDS /SCAN_COMMANDS
/SELF=keyword See text
/SENSITIVITY=sensitivity None
/SIGNATURE=file-spec See text
/SINGLE /SINGLE
/SSA /NOSSA
/SSUBADDRESS=subaddress None
/SUBADDRESS=subaddress None
/SUBJECT=subject None
/TEXT See text
/TO_LIST=addresses None
/TO_PROMPT /NOTO_PROMPT
/TOC /TOC
/TRIM=keywords /TRIM=READ
/USER=username See text
24.1 – Parameters
file-spec[,...]
Optional list of one or more files to send as the message. If
this parameter is specified then one or more recipient addresses
must also be specified.
recipient-address[,...]
Optional list of one or more addresses to send the message to.
This parameter must be specified when the optional file-spec
parameter is specified. Each address typically needs to be quoted
with double quotes.
24.2 – Description
The PMDF MAIL command invokes the PMDF MAIL utility which may be
used to send network mail messages to other users and to read and
manage mail messages sent to you.
PMDF MAIL is an extended version of VMS MAIL. The extensions
provide support for Internet style messaging and includes
support for sending and reading MIME messages. MIME allows,
among other things, for multipart messages which may contain
file attachments, binary data, images, audio, and video.
24.3 – Qualifiers
24.3.1 /ABORT
By default, if an error occurs while processing an input message
file or recipient address, PMDF SEND will ask the user whether
or not to send the message anyhow. If the /ABORT qualifier is
specified, then PMDF SEND will merely exit (with an error) when a
problem occurs during file or address processing.
The /ABORT and /IGNORE qualifiers are mutually exclusive - only
one or the other may be used.
The /ABORT qualifier has no effect on interactive PMDF MAIL
sessions.
24.3.2 /BCC_LIST
/BCC_LIST=address[,...]
/CC_LIST=address[,...]
/TO_LIST=address[,...]
Specify one or more To:, Cc:, or Bcc: recipient addresses. When
specifying more than one addressee of a given type (To:, Cc:, or
Bcc:), enclose the addresses in parentheses as in
/TO_LIST=("sue@example.com","bob@example.com")
The /BCC_LIST, /CC_LIST, and /TO_LIST qualifiers have no effect
on interactive PMDF MAIL sessions.
24.3.3 /BCC_PROMPT
/BCC_PROMPT
/CC_PROMPT
/TO_PROMPT
Request to be prompted for To:, Cc:, or Bcc: recipient addresses.
By default you are only prompted once for each selected type
(To:, Cc:, or Bcc:). If /MULTIPLE has also been specified, then
for each selected type you will be prompted repeatedly until a
blank line is entered.
The /BCC_PROMPT, /CC_PROMPT, and /TO_PROMPT qualifiers have no
effect on interactive PMDF MAIL sessions.
24.3.4 /CAPTIVE
When /CAPTIVE is specified, PMDF MAIL will treat the user as
though they were a captive user and not allow them to perform
operations such as spawning.
24.3.5 /COMMENTS
/COMMENTS=comments
This qualifier may be used to specify the contents of the
Comments: header line. If this qualifier is not specified and the
PMDF_COMMENTS logical is not defined, then no Comments: header
line will be generated.
The /COMMENTS qualifier has no effect on interactive PMDF MAIL
sessions.
24.3.6 /BLOCK
/BLOCK
/RECORD
/TEXT
Specify the file access mode to use when processing the files to
send. The default depends upon the file extension.
The /BLOCK, /RECORD, and /TEXT qualifiers have no effect on
interactive PMDF MAIL sessions.
24.3.7 /CONFIRM
/CONFIRM[=keyword[,...]]
Specifies for interactive PMDF MAIL sessions, which operations
should be confirmed prior to actually taking. By default,
/CONFIRM=NONE is assumed. The accepted keyword values are
ADDRESS
Confirm each recipient address.
ALL
Confirm all actions when sending, extracting, forwarding, or
replying to messages.
DIGEST
Confirm each digest element when creating a message digest.
EXTRACT
Confirm when extracting a message.
FORWARD
Confirm when forwarding a message.
NONE
Never request confirmation except when the /CONFIRM qualifier is
used with an interactive command.
PRINT
Confirm when printing a message.
REPLY
Confirm when replying to a message.
RESEND
Confirm when resending a message.
SEND
Confirm when sending a message.
If /CONFIRM is specified without any keyword values, then
/CONFIRM=ALL is assumed.
24.3.8 /ENCODING
/ENCODING=encoding
Specify the encoding method to use to encode an input message
file. Typically, no encoding is used; however, this depends
upon the file type as determined from the file extension. The
available encoding methods are 7BIT, 8BIT, BASE32, BASE64,
BINHEX, BTOA, COMPRESSED-BASE64, BASE85, HEXADECIMAL, PATHWORKS,
QUOTED_PRINTABLE, UUENCODE, and COMPRESSED-UUENCODE.
24.3.9 /EDIT
/EDIT[=keyword[,...]]
Specifies for interactive PMDF MAIL sessions, which commands
implicitly invoke the editor. The accepted keyword values are
ALL
Always invoke the editor in conjunction with all commands that
accept the /EDIT qualifier.
COMMAND_LINE
In conjunction with /EDIT=SEND, invoke the editor even when
sending a file or message from the DCL command line.
DIRECTORY
Always invoke the editor to display DIRECTORY and
DIRECTORY/FOLDER listings.
FORWARD
Always invoke the editor to edit messages being forwarded with
the FORWARD command.
HEADER
By default the message's header is always displayed in the
editor. To inhibit this, specify /EDIT=NOHEADER.
KEPT[=editor-process-name]
Initially invoke the editor as a subprocess; re-attach to the
subprocess for subsequent editor operations.
NONE
Never invoke the editor unless explicitly requested to do so with
the /EDIT qualifier.
READ
Always invoke the editor to display messages being read with the
READ, CURRENT, BACK, NEXT, FIRST, and LAST commands.
REPLY[=EXTRACT[=quote]]
Always invoke the editor to edit messages being replied to with
the ANSWER or REPLY commands. If the optional EXTRACT keyword
is specified, then the content of the message being replied to
will be included in the reply. To specify a text string to use
to quote each line of the extracted message text, specify a value
for the EXTRACT keyword. For instance, to quote each line with
the two characters "> ", invoke PMDF MAIL with the command
$ PMDF MAIL/EDIT=REPLY=EXTRACT="> "
SEND
Always invoke the editor to compose messages being sent with the
MAIL or SEND commands.
If /EDIT is specified without any keyword values, then
/EDIT=(SEND,REPLY) is assumed.
24.3.10 /ENCAPSULATE
/ENCAPSULATE[=keyword[,...]]
/NOENCAPSULATE[=keyword[,...]]
For interactive PMDF MAIL sessions, specifies file encapsulation
defaults for the FORWARD, SEND, and REPLY commands as well as the
synonymous commands MAIL and ANSWER. The accepted keyword values
are FORWARD, SEND, REPLY, ALL, and NONE.
The /ENCAPSULATE qualifier specifies which commands should
by default encapsulate files as separate attachments; the
/NOENCAPSULATE qualifier specifies which commands should not
by default encapsulate files as separate message attachments.
Specifying /ENCAPSULATE without any qualifiers implies
/ENCAPSULATE=ALL, and specifying /NOENCAPSULATE without any
qualifiers implies /ENCAPSULATE=NONE.
24.3.11 /ENTIRE
/ENTIRE[=keyword[,...]]
/MESSAGE[=keyword[,...]]
/PART[=keyword[,...]]
For interactive PMDF MAIL sessions, specifies message content
scope for EXTRACT, FORWARD, PRINT, and REPLY commands. The
accepted keyword values are EXTRACT, FORWARD, PRINT, REPLY, ALL,
and NONE.
The /ENTIRE qualifier specifies which commands by default act
upon the entire message. The /MESSAGE qualifier specifies
which commands by default act upon only the current portion of
the message which constitutes an entire message. (Note that a
message may contain one or more messages as subparts.) The /PART
qualifier specifies which commands by default act upon only the
current message body part.
Specifying /ENTIRE without any qualifiers implies /ENTIRE=ALL;
specifying /MESSAGE without any qualifiers implies /MESSAGE=ALL;
and specifying /PART without any qualifiers implies /PART=ALL.
24.3.12 /FILENAME
/FILENAME
/NOFILENAME (default)
The /FILENAME qualifier specifies that the original file name
should be included in the message headers.
24.3.13 /FILTER_CTRL
/FILTER_CTRL
/NOFILTER_CTRL (default)
For interactive PMDF MAIL sessions, specifying /FILTER_CTRL turns
on the filtering out of 7-bit and 8-bit control characters in
messages. Messages which contain such control characters can
cause problems with the terminal when they are displayed. When
/FILTER_CTRL is specified, such a character is displayed as its
hexidecimal value in the format "=XX".
24.3.14 /FROM
/FROM=address
This qualifier may be used to specify the contents of the From:
header line. If this qualifier is not specified and the PMDF_
FROM logical is not defined, then a From: header line will be
constructed from the username of the user invoking PMDF MAIL
and the local host name. Note that even if a From: address is
provided, the invoking user's address will appear in a Sender:
header line.
The /FROM qualifier has no effect on interactive PMDF MAIL
sessions.
24.3.15 /IGNORE
By default, if an error occurs while processing an input message
file or recipient address, PMDF MAIL will ask the user whether
or not to send the message anyhow. If the /IGNORE qualifier is
specified, then PMDF MAIL will not ask the user whether or not
to send the message-it will send the good input files to the good
recipient addresses.
The /ABORT and /IGNORE qualifiers are mutually exclusive - only
one or the other may be used.
The /IGNORE qualifier has no effect on interactive PMDF MAIL
sessions.
24.3.16 /LIST
/LIST (default)
/NOLIST
When specified, /NOLIST becomes the default for the ANSWER and
REPLY commands.
24.3.17 /MESSAGE
/MESSAGE (default)
See /ENTIRE.
24.3.18 /MULTIPLE
/MULTIPLE
/SINGLE (default)
Normally, only a single prompt is made for each type of address
selected with the /TO_PROMPT, /CC_PROMPT, and /BCC_PROMPT
qualifiers. When /MULTIPLE is specified, these prompts will be
repeated for each selected address type until a blank line is
entered.
The /MULTIPLE and /SINGLE qualifiers have no effect on
interactive PMDF MAIL sessions.
24.3.19 /PART
See /ENTIRE.
24.3.20 /PERSONAL_NAME
/PERSONAL_NAME=name
/NOPERSONAL_NAME
Specify a personal name field to use in conjunction with your
return address. Any value specified will override your SET
PERSONAL_NAME profile setting. If /NOPERSONAL_NAME is specified,
then no personal name field will appear in the return address.
The /PERSONAL_NAME qualifier has no effect on interactive PMDF
MAIL sessions.
24.3.21 /PREVALIDATE
/PREVALIDATE
/NOPREVALIDATE (default)
Prevalidate recipient addresses prior to invoking the editor
to compose a message. If any illegal addresses are detected,
PMDF MAIL will ask whether to cancel the operation or to proceed
anyway. If told to proceed, both the good and bad addresses will
appear in the editor where they may be modified as necessary.
Validation will, of course, still be performed after the editor
is exited.
24.3.22 /PRIORITY
/PRIORITY=priority
This qualifier may be used to specify the contents of the
Priority: header line. If this qualifier is not specified, then
no Priority: header line will be generated.
The /PRIORITY qualifier has no effect on interactive PMDF MAIL
sessions.
24.3.23 /REMOVE
/REMOVE[=keyword[,...]]
/NOREMOVE[=keyword[,...]]
For interactive PMDF MAIL sessions, specifies /REMOVE or
/NOREMOVE defaults for the FORWARD, REPLY, RESEND, and SEND
commands. The accepted keyword values are FORWARD, REPLY, RESEND,
SEND, ALL, and NONE.
The /REMOVE qualifier specifies which commands by default assume
/REMOVE. The /NOREMOVE qualifier specifies which commands
by default assume /NOREMOVE. Specifying /REMOVE without any
qualifiers implies /REMOVE=ALL while specifying /NOREMOVE without
any qualifiers implies /NOREMOVE=ALL.
24.3.24 /REPEATED
/REPEATED (default)
/NOREPEATED
Specify /REPEATED to imply /REPEATED for all REPLY/ALL commands;
specify /NOREPEATED to imply /NOREPEATED for all REPLY/ALL
commands.
24.3.25 /REPLY_TO
/REPLY_TO=address
This qualifier may be used to specify the contents of the Reply-
to: header line. If this qualifier is not specified and the PMDF_
REPLY_TO logical is not defined, then no Reply-to: header line
will be generated.
The /REPLY_TO qualifier has no effect on interactive PMDF MAIL
sessions.
24.3.26 /SCAN_COMMANDS
/SCAN_COMMANDS (default)
/NOSCAN_COMMANDS
By default, the command line is scanned for errors as it is
entered and errors are signalled immediately. Specify /NOSCAN_
COMMANDS to have errors only signalled after the entire command
has been entered and the RETURN key pressed.
24.3.27 /SELF
/SELF[=keyword[,...]]
/NOSELF[=keyword[,...]]
For interactive PMDF MAIL sessions, specifies for which types
of message sending operations you will automatically receive
copies of messages you originate. The accepted keyword values are
FORWARD, REPLY, RESEND, SEND, ALL, and NONE.
The /SELF qualifier specifies for which types of operations you
will receive a copy of messages sent. The /NOSELF qualifier
specifies for which operation types you will not receive a
message copy. Specifying /SELF without any qualifiers implies
/SELF=ALL while specifying /NOSELF without any qualifiers implies
/NOSELF=ALL.
Any settings made with the /SELF and /NOSELF qualifiers will be
overridden by any positive SET COPY_SELF profile settings.
24.3.28 /SENSITIVITY
/SENSITIVITY=sensitivity
This qualifier may be used to specify the contents of the
Sensitivity: header line. If this qualifier is not specified and
the PMDF_SENSITIVITY logical is not defined, then no Sensitivity:
header line will be generated.
The /SENSITIVITY qualifier has no effect on interactive PMDF MAIL
sessions.
24.3.29 /SIGNATURE
/SIGNATURE=signature-line
/SIGNATURE="@file-spec"
/NOSIGNATURE
Specify a signature line or file to append to the end of the
message being sent. If /NOSIGNATURE is specified, then no
signature will be appended.
The /SIGNATURE qualifier has no effect on interactive PMDF MAIL
sessions.
24.3.30 /SSA
/SSA
/NOSSA (default)
Show aliases in the system alias database as well as in your
personal alias database. Non-privileged users will have read-only
access to the system alias database.
24.3.31 /SSUBADDRESS
/SSUBADDRESS=subaddress
Specify a subaddress to attach to your address in message copies
sent to you via the COPY_SELF mechanism.
24.3.32 /SUBADDRESS
/SUBADDRESS=subaddress
Specify a subaddress to attach to the envelope From: address;
e.g., if the envelope From: address is prospero@example.com then
specifying /SUBADDRESS="Postmaster" would result in the envelope
From: address prospero+Postmaster@example.com.
The /SUBADDRESS qualifier has no effect on interactive PMDF MAIL
sessions.
24.3.33 /SUBJECT
/SUBJECT=subject
Specify the contents of the Subject: header line. If this
qualifier is not specified, then no Subject: header line will
be generated. If it is specified, but no value given, then the
user will be prompted for a value.
The /SUBJECT qualifier has no effect on interactive PMDF MAIL
sessions.
24.3.34 /TOC
/TOC (default)
/NOTOC
Show a table of contents for each displayed multipart message.
The table of contents is not actually part of the message.
24.3.35 /TRIM
/TRIM[=keyword[,...]]
/NOTRIM[=keyword[,...]]
For interactive PMDF MAIL sessions, specifies for which
operations header lines will automatically be trimmed or left
intact. The accepted keyword values are EXTRACT, FORWARD, PRINT,
REPLY, RESEND, SEND, ALL, and NONE.
The /TRIM qualifier specifies which commands by default assume
/TRIM; the /NOTRIM qualifier specifies which commands by default
assume /NOTRIM. Specifying /TRIM without any qualifiers implies
/TRIM=ALL while specifying /NOTRIM without any qualifiers implies
/NOTRIM=ALL.
24.3.36 /USER
/USER=username
Specify the local username to use in the message sender's address
(this will be the From: address if no other From: address is
given and the Sender: address otherwise. You must either have
WORLD privilege or hold the PMDF_WORLD or PMDF_WORLD_username
rightslist identifier in order to use this qualifier and specify
a username other than your own. The special case of a blank
string will not insert any Sender: information.
The /USER qualifier has no effect on interactive PMDF MAIL
sessions.
24.4 – Examples
1.$ PMDF MAIL
...
EMAIL> EXIT
This example shows how to invoke the PMDF MAIL utility and then
subsequently exit the utility with the EXIT command.
2.$ PMDF MAIL/SUBJECT="Meeting" MINUTES.TXT
"sue@example.com","bob@example.com"
$
In this example the contents of the file MINUTES.TXT is sent to
sue@example.com and bob@example.com.
25 – MOVEIN
Migrate mail files between message stores or between accounts.
Syntax
PMDF MOVEIN [username [password]]
Command Qualifiers Default
/BEFORE=time
/DEBUG /NODEBUG
/DESTINATION=store-type
/DSTDMN=user-domain
/DSTUSERNAME=dest-username source username
/EXCEPTION_FILE=file-spec
/FORCE_MIGRATE /NOFORCE_MIGRATE
/FORWARD /FORWARD
/HOST=hostname
/INPUT=file-spec
/LOG /LOG
/LOWERCASE /NOLOWERCASE
/SINCE=time
/SOURCE=store-type /SOURCE=NATIVE
/SRCDMN=user-domain
/USE_EXISTING /NOUSE_EXISTING
/WASTEBASKET /WASTEBASKET
25.1 – RESTRICTIONS
Operating system privileges are required to run this utility.
25.2 – Parameters
username
Optional name of a single source message store user account to
migrate. If not supplied, then the names of accounts to migrate
are read from either an input file or SYS$INPUT.
password
Optional password to set for the new account in the destination
message store. Only used when migrating to the popstore or
MessageStore.
25.3 – Description
The PMDF MOVEIN utility migrates mailboxes from one message
store to another, or from one account to another. The supported
message stores are: VMS MAIL (the "native" message store), the
PMDF MessageStore, and the PMDF popstore. When moving from
or to the popstore, only messages in the inbox are migrated.
For migrations from VMS MAIL to msgstore, or from one msgstore
account to another, messages in all folders are moved.
Forwardings from the source message store account to the
destination message store account are automatically established
for each migrated user. Note, however, that use of the -
NOFORWARDING switch can compromise this robustness.
As it is not possible to temporarily block delivery of mail to
a user by VMS MAIL, when migrating mail from a VMS MAIL account,
the PMDF MOVEIN utility should not be run on an active system.
Running it on an active system can lead to loss of mail when the
migration utility migrates a user's NEWMAIL folder and, at the
same time, VMS MAIL delivers a new message to that same folder.
Depending upon the timing, that new message can be left behind
and not migrated. To prevent this from happening, ensure that
PMDF's local delivery channel is not running (e.g., stop the
MAIL$BATCH queue or whatever queue the l channel runs in) and
that any other VMS MAIL applications are not running (e.g., no
login users using VMS MAIL, no Pathworks users, DECnet MAIL-11
shutdown, etc.).
When migrating mail from a popstore or msgstore account, and to
a popstore or msgstore account, the PMDF MOVEIN utility performs
all of the necessary locking so as to allow migrations to be
carried out on an active system without loss of mail.
The basic inputs to the utility are: the names of the source and
destination message store; the names of the source store user
accounts to migrate; optionally, the names of the destination
store user accounts to create; and, also optionally, passwords
to set for these new accounts. The source store username is
assumed for the destination store if a desintation username is
not specified. That is, by default, the name of the account in
the destination store is the same as that in the source store.
When a username is supplied on the command line, then just that
one user account is migrated. To migrate multiple accounts,
do not specify a username on the command line and instead use
the /INPUT qualifier. Each line of the input file specifies
the username of a single source store account to migrate. In
addition, a line can specify a password to associate with the new
account in the destination store, and the username to create in
the destination store. The password and destination username, if
supplied, must be on the same input line following the username
with one or more white space characters separating each of the
three. If the password contains a space itself, it must be
enclosed in double quotes. To specify a destination username
without specifying a password, the password must be specfied as
an empty string (two double-quotes next to each other).
Comment lines can appear in the input file: a comment line is any
line which begins with a # or ! character. Leading and trailing
white space characters on lines are ignored. The following sample
input should give the flavor of input files:
! A comment line
!
! to supply a password and destination username:
angel "alex's password" alex
bailey blakes-password blake
!
! to supply a destination username, but no password:
chris "" casey
!
! to supply a password but no destination username:
dana danas-password
!
! to supply neither a password nor a destination username:
emile
When no username or input file is specified, input lines are read
from SYS$INPUT. The format of those input lines is identical to
that of lines read from an input file. Input is terminated by
typing a CTRL/Z.
When migrating to a msgstore or popstore account, the destination
account is automatically created. If a password is supplied,
then the password is set in the new account. If no password is
supplied, then the new account is marked with the PWD_ELSEWHERE
flag. Normally, that causes authentication to then be performed
against the SYSUAF database. See the popstore documentation for
further information. When migrating from VMS MAIL, the owner
field in the new account is set using the owner field from the
SYSUAF. When migrating between a popstore and msgstore account,
the owner field of the destination account is set from the source
account.
If there already is an pre-existing MessageStore or popstore
account-such as when migrating from the popstore to MessageStore-
then the migration fails unless /USE_EXISTING is specified.
Moreover, if the existing account has the MIGRATED flag set,
then the migration fails unless /FORCE_MIGRATE is specified. When
the account is successfully migrated, the MIGRATED flag is set in
the account.
NOTE
After a successful migration, the account in the source
message store is left intact with its mail in place. In
the case of migration from a popstore to MesageStore store
type with the same username (or vice-versa), the account is
changed in place from the one store type to the other.
The PMDF MOVEIN utility is extremely careful to back out of a
failed migration, leaving the user account in the source message
store in its original state. When multiple accounts are migrated,
a failure to migrate an account does not terminate the utility.
Instead, the utility backs out of the migration for the failed
account and continues on to the next account. Failures are
reported to SYS$ERROR. The /EXCEPTION_FILE qualifier can be used
to log errors in an exception file. The format of the exception
file is suitable for re-use as an input file.
25.4 – Command Qualifiers
25.4.1 /BEFORE
/BEFORE=dd-mmm-yyyy:hh:mm:ss
By default, all messages are migrated. The /BEFORE qualifier can
be used to only migrate those messages stored on or before the
specified time. For instance, to migrate all messages received
between 08:30 and 13:00 on 15 November 2012, specify
/SINCE=15-NOV-2012:8:30:00 /BEFORE=15-NOV-2012:13:00:00
25.4.2 /DEBUG
/DEBUG
/NODEBUG (default)
Debug output can be enabled with the /DEBUG qualifier.
25.4.3 /DESTINATION
/DESTINATION=store-type
This required qualifier specifies the name of the target message
store. The accepted names are MSGSTORE (PMDF MessageStore) and
POPSTORE (PMDF popstore).
25.4.4 /DSTDMN
/DSTDMN=user-domain
The name of the user domain to use in the destination message
store. If not specified, then the DEFAULT domain is used. Only
applicable in conjunction with destination message stores which
support user domains (currently, only popstore).
25.4.5 /DSTUSERNAME
/DSTUSERNAME=dest-username
The username to use in the destination message store. If not
specified, the source store username is used.
25.4.6 /EXCEPTION_FILE
/EXCEPTION_FILE=file-spec
By default, failures are only written to SYS$ERROR. Failures can
also be reported to an exception file. The name of the exception
file is given with the /EXCEPTION_FILE qualifier. The file will
only be created should a failure occur; the file will have the
protection mask (S:RWED,O:RWED,G,W). For each account whose
migration fails, an entry will be made to the exception file. The
entry takes the form of one or more lines of comments followed by
a line containing the failed username and any optional password
and destination username. The format of the exception file is
such that it can be re-used as an input file.
25.4.7 /FORCE_MIGRATE
/FORCE_MIGRATE
/NOFORCE_MIGRATE (default)
This qualifier can be used in conjunction with the /USE_EXISTING
qualifier. See the description of that qualifier for further
details.
25.4.8 /FORWARD
/FORWARD (default)
/NOFORWARD
By default, a forwarding address for each migrated user account
is established. This forwarding causes undelivered mail sent
to the user's source message store address to be automatically
forwarded to their account in the destination message store.
When migrating an account from VMS MAIL, a forwarding for the VMS
MAIL user is is placed both in the PMDF alias database and VMS
MAIL's forwarding database. When migrating from the popstore or
msgstore, a forwarding to the account in the destination store is
added to the msgstore's forwarding database.
When migrating to the popstore or msgstore, any msgstore
forwarding for the destination account is removed from the
msgstore's forwarding database. If the account is just being
converted from popstore to msgstore (or vice-versa) in place, no
forwarding is necessary.
Specify /NOFORWARD to prevent forwardings from being established.
Note, however, that when /NOFORWARD is used, undelivered mail
directed to the user's old address in the source message store
can be returned as undeliverable or delivered to the old, unused
account until such time that the old account is deleted at which
point the mail will be returned as undeliverable.
25.4.9 /HOST
/HOST=hostname
Optional qualifier to specify the host name associated with the
destination message store. If omitted, the host name used will
be determined from PMDF configuration information: the official
local host name when the destination store is the native message
store; the host name on the msgstore channel when the destination
store is msgstore or popstore. This host name is only used in
conjunction with the /FORWARD qualifier to construct a forwarding
address for each migrated account.
25.4.10 /INPUT
/INPUT=file-spec
Specify an input file containing names of user accounts to
migrate. Can not be used in conjunction with the username command
line parameter. See the description above for further information
on input files.
25.4.11 /LOG
/LOG (default)
/NOLOG
By default, the utility reports each successfully migrated
account to SYS$ERROR. To suppress this reporting, specify /NOLOG.
Note that errors are always reported.
25.4.12 /LOWERCASE
/LOWERCASE
/NOLOWERCASE (default)
This qualifier is only used when the source store is VMS MAIL
and the destination store is MessageStore. By default, VMS
MAIL folder names are not modified when they are migrated. This
default behavior corresponds to /NOLOWERCASE. When /LOWERCASE is
specified, all migrated folder names are converted to lower case.
25.4.13 /SINCE
/SINCE=dd-mmm-yyyy:hh:mm:ss
By default, all messages are migrated. The /SINCE qualifier can
be used to only migrate those messages stored on or after the
specified time. See the description of the /BEFORE qualifier for
further details.
25.4.14 /SOURCE
/SOURCE=store-type
By default, the source message store is assumed to be the
native message store, VMS MAIL. The permitted values are
NATIVE (VMS MAIL), POPSTORE (PMDF popstore), and MSGSTORE (PMDF
MessageStore).
25.4.15 /SRCDMN
/SRCDMN=user-domain
The name of the user domain to use in the source message
store. If not specified, then the DEFAULT domain is used. Only
applicable in conjunction with source message stores which
support user domains (currently, only popstore).
25.4.16 /USE_EXISTING
/USE_EXISTING
/NOUSE_EXISTING (default)
By default, a migration to a popstore or msgstore account will
fail when there already is a pre-existing account with the same
name as the requested destination account name (by default, the
name of the source store account being migrated). To override
this behavior, specify /USE_EXISTING. However, if the pre-
existing account has the msgstore/popstore MIGRATED flag set,
the migration will fail unless /FORCE_MIGRATE is also specified.
Note that when migrating to a pre-existing account, the password
for the account is left unchanged and migrated messages are added
to those already stored for the account.
25.4.17 /WASTEBASKET
/WASTEBASKET (default)
/NOWASTEBASKET
When migrating a VMS MAIL user to the MessageStore, the
WASTEBASKET folder will, by default, also be migrated. Specify
/NOWASTEBASKET to prevent the WASTEBASKET folder from being
migrated.
25.5 – Examples
1.$ PMDF MOVEIN /DESTINATION=POPSTORE SUE "SeCreT"
movein: Destination message store host name not supplied; using pop.com
movein: User "SUE" successfully migrated (D1:[USERS.SUE]MAIL.MAI)
This example shows migrating to the popstore the login user
SUE. The password on the new popstore account is set to SECRET.
2.$ PMDF MOVEIN /SOURCE=POPSTORE /DESTINATION=MSGSTORE -
_$ /USE_EXISTING SUE
movein: Destination message store host name not supplied; using imap.com
movein: User "SUE" successfully migrated
This example shows migrating the popstore user SUE to the
MessageStore. The /USE_EXISTING qualifier instructs the
utility to use Sue's existing profile file for her MessageStore
account. This way, her password and other usage information is
preserved. Note that if /USE_EXISTING was not specified, this
command would fail.
3.$ TYPE USERS.LIS
smith SeCreT jones
williams "" johnson
$ PMDF MOVEIN /DESTINATION=MSGSTORE /SOURCE=MSGSTORE -
_$/INPUT=USERS.LIS
movein: Destination message store host name not supplied; using imap.com
movein: "smith" migrated
movein: "williams" migrated
In the above example an input file is used to direct the PMDF
MOVEIN utility. The file instructs MOVEIN to copy the messages
from one msgstore account to another. For example, in the first
case, a JONES msgstore account is created, its password is
set to "SeCreT", and all of the messages in the msgstore SMITH
account are copied over.
26 – Mailbox Filters
A common goal is to filter incoming messages, perhaps sending an
automatic response, forwarding the messages to another account,
or automatically rejecting or discarding some based upon material
in the messages' headers or bodies. One way to do this is via the
DELIVER facility.
If your messages are delivered to the native message store (VMS
MAIL mailbox) or to a PMDF popstore or PMDF MessageStore account,
your system administrators may have chosen to enable another
option: PMDF message filtering. If your system administrators
have chosen to enable it, PMDF provides a web-based interface
through which you can specify a vacation notice, specify a
forwarding address, and construct and manage your own message
screening rules. These are collectively known as mailbox
filters.
26.1 – Mailbox Filter File
By default, you have no mailbox filters unless your system
administrator has chosen to set them for you. If mailbox
filtering has been enabled for your account, when you use
the web-based interface, a mailbox filter is created for you.
Your mailbox filters are stored in a mailbox filter file. The
location of that file is site-configurable. For popstore and
MessageStore accounts, that location is normally in a directory
that is not directly accessible by non-privileged users, and
all modifications to your mailbox filters are done using the web
interface. For VMS MAIL mailboxes, the filter file normally is in
your login directory, and therefore accessible by you.
If the mailbox filter file is accessible by you, you may create
or modify the filter file using any text editor. The mailbox
filter file is a text file containing commands in the SIEVE
language with some extensions. See the System Manager's Guide,
Chapter 16, for information about SIEVE.
WARNING
If you edit your mailbox filter file manually, you cannot
use the web interface any longer. The web interface can only
read filter files it it has written itself. You can use the
web interface to create an initial mailbox filter file, and
then edit it manually, but not vice-versa.
26.1.1 – Checking Your Changes
NOTE
After you have made changes to your mailbox filter file, it
is important for you to verify that it is working correctly,
especially if you have edited it manually. If your filter
file is not working, for example if it has a syntax error,
your mail delivery could be interrupted.
The easiest way to check your mailbox filter file is to send
yourself mail. If your mail gets to your mailbox successfully,
then there is nothing wrong with your filter file.
Your filter file can also be verified by your system
administrator using the command:
$ pmdf test/rewrite/filter <your-mailbox>
26.2 – Web Interface
In order to use the web-based interface for setting up message
filters, a vacation notice, or a forwarding address, you must
have a web client and TCP/IP access to the PMDF system. Your
messages must also be delivered to the native message store
(VMS mailbox) on the PMDF system, or to a PMDF popstore or PMDF
MessageStore account on the PMDF system.
The web form asks you for your e-mail address and your password;
you need to provide this information in order to set up or change
your mailbox filters.
To connect to the interface with your web browser, you normally
open the URL
http://host:7633/mailbox_filters/
In place of host, use the actual IP host name of the system
running PMDF, on which your messages are delivered. Your system
administrator may have chosen to configure the web interface port
to be a port other than 7633; if so, then you need to specify
that other port number in place of 7633 in the above URL. Check
with your system administrator if you are not sure of the exact
URL to use.
Once connected to the introductory web page, links to help and
various mailbox filtering activities may be followed.
26.2.1 – Web Interface Features
The web interface allows you to set up eight distinct message
filters: four to identify messages to always keep, the Accept
filters; four to identify messages to always throw away,
the Discard filters. The Accept and Discard filters operate
on envelope and header source addresses, header destination
addresses, and phrases or words appearing in the SUBJECT: header
line or body of the message. The eight filters are thus known by
the names ACCEPT FROM, ACCEPT TO, ACCEPT SUBJECT, ACCEPT BODY,
DISCARD FROM, DISCARD TO, DISCARD SUBJECT, and DISCARD BODY.
The web interface also allows you to set up a forwarding address.
When you have a forwarding address set up, all of your mail that
you have decided to keep with your Accept filters will be sent to
that address instead of being delivered to your local account.
Note that the Accept and Discard filters are applied first,
and the vacation notice (if any) is also sent first, before the
message is forwarded.
The web interface also allows you to set up a vacation notice.
Set up a vacation notice when you want to send an automatic reply
to mail messages that you receive. The reply notifies the sender
that you are on vacation or otherwise away for an extended period
of time and may not respond to your mail until you return. The
web interface allows you to enable or disable the vacation notice
feature, to specify the subject and text that is included in the
vacation notice, and to set up some advanced options.
PMDF keeps a history of which addresses it has sent the vacation
notice to, and does not send another vacation notice to that same
address unless
o you change the text or subject of your vacation notice
o you enable the vacation notice feature after it has been
disabled
o the number of days that you specify in the web interface has
passed
Note that PMDF will not send the vacation notice if it determines
that the message was received through a mailing list.
27 – PASSWORD
Set password for remote authentication, e.g., POP client (APOP),
IMAP client (CRAM), or mailbox filter authentication.
Syntax
PMDF PASSWORD [password]
Command Qualifiers Defaults
/CONVERT /CREATE
/CREATE /CREATE
/DELETE /CREATE
/SERVICE=keyword /SERVICE=DEFAULT
/SHOW /CREATE
/TEST /CREATE
/USER=username See text
27.1 – Restrictions
All operations other than setting or verifying one's own
password, or showing one's own password database entries, require
privileges.
27.2 – Prompts
New password: password
27.3 – Parameters
password
The password to set. Note that APOP passwords are case sensitive.
27.4 – Description
The PMDF PASSWORD utility is used to create and modify PMDF
password database entries. This database may be used by POP
clients issuing the APOP command, by IMAP clients using the CRAM-
MD5 authentication mechanism, or possibly by users authenticating
themselves to modify their personal mailbox filters.
Note that in general, just which source of password
authentication information is used-whether the PMDF password
database, or some other source-is controlled by the PMDF security
configuration file; see That is, a connection comes in (POP,
IMAP, or mailbox filtering) and is mapped to a security rule
set; the security rule set in the PMDF security configuration
then controls where and how authentication is performed for that
connection.
For instance, the DEFAULT security rule set in PMDF's
implicit security configuration (which applies if no security
configuration file exists) checks first for a PMDF user profile
password (PMDF MessageStore or PMDF popstore profile password),
next for a PMDF password database entry, and finally falls
through to checking for a system password entry.
Note that APOP and CRAM-MD5 passwords cannot be stored in the
system password file. Therefore, in order to support use of the
POP protocol's APOP command or AUTH command with CRAM-MD5, or
the IMAP protocol's authenticate command with CRAM-MD5, the user
must have a password entry stored in an authentication source
other than (or in addition to) the system password file. The PMDF
password database can be that additional authentication source.
Thus for instance, for a POP or IMAP connection handled by
the DEFAULT security rule set, a user must either be a PMDF
MessageStore user or a PMDF popstore user (in which case their
PMDF user profile password is normally sufficient for remote
authentication), or if they are a legacy message store (VMS
MAIL) user then they must have a PMDF password database entry
in addition to their system password file entry.
For mailbox filter connections handled by the DEFAULT
security rule set of PMDF's implicit security configuration,
authentication will be performed preferentially against the PMDF
user profile, if the user has a PMDF user profile entry (that
is, a PMDF MessageStore or PMDF popstore profile entry), if not
then against the PMDF password database, if the user has an entry
in it, and finally, only if the user has neither sort of entry,
against the system password file.
The above discussion regards whether the PMDF password
database will actually be used as the source of authentication
information. When the PMDF password database is used as the
source of authentication information, then an additional issue
can arise, namely which of a user's possibly multiple entries
will be checked for the authentication. That is, a user can have
multiple entries in the PMDF password database, one for each
allowed /SERVICE value. The sort of connection (assuming that
the PMDF password database is even checked) will control which
/SERVICE entry is preferentially checked. Note that the sort
of /SERVICE checked has nothing to do with the PMDF security
configuration (which instead controlled whether or not the PMDF
password database was queried at all); the sort of /SERVICE entry
checked when the PMDF password database is queried has entirely
to do with which component of PMDF is doing the querying (what
sort of connection this regards).
Queries by the POP server will first check a user's /SERVICE=POP
entry, but if such an entry does not exist will fall through
to the user's /SERVICE=DEFAULT entry. Queries by the IMAP
server will first check a user's /SERVICE=IMAP entry, but if
such an entry does not exist will fall through to the user's
/SERVICE=DEFAULT entry.
Queries for mailbox filtering will check which channel a user
matches. For a user matching a msgstore channel, the mailbox
filter query will preferentially use the user's /SERVICE=IMAP
entry, but if such an entry does not exist will fall through to
the user's /SERVICE=DEFAULT entry. For a user matching a popstore
channel, the mailbox filter query will preferentially use the
user's /SERVICE=POP entry, but if such an entry does not exist
will fall through to the user's /SERVICE=DEFAULT entry. For a
user matching the local channel, the mailbox filter query will
use the user's /SERVICE=DEFAULT entry.
Most sites and users will not want to use /SERVICE specific
password database entries. Then each user has one entry, their
/SERVICE=DEFAULT entry, used whenever the PMDF password database
is queried.
But for sites and users who do want to use /SERVICE specific
password database entries, while the above description of
/SERVICE specific probes may sound complicated, the goal is
simply to query the "natural" password entry for each case.
27.5 – Command Qualifiers
27.5.1 /CONVERT
The format of the PMDF password database changed in PMDF V5.1
from that used previously. This qualifier is used to convert a
PMDF V5.0 password database to the PMDF V5.1 and later format.
27.5.2 /CREATE
Create a PMDF password database entry. This qualifier is the
default.
27.5.3 /DELETE
Delete a user/password entry pair from the PMDF password
database.
27.5.4 /SERVICE
/SERVICE=keyword
Specify for what service a particular password method and
password value apply. The default service keyword is DEFAULT;
POP and IMAP are other possible keywords.
27.5.5 /SHOW
Show a user/service/password-method entry in the PMDF password
database. Note that this commmand does not show the password
value.
27.5.6 /TEST
Compare a specified password against a password stored in the
PMDF password database.
27.5.7 /USER
/USER=username
Set or show a password entry in the PMDF password database
for the specified user. To show all users' entries specify the
asterisk as a value.
27.6 – Examples
To add a user JSMITH with password SeCrEt to the database, use
the command
$ PMDF PASSWORD/USER=JSMITH "SeCrEt"
The user JSMITH may change his own password, with prompting
so that the password is not printed on the screen, using the
command
$ PMDF PASSWORD
Password:
To list all usernames that have an entry in the PMDF password
database, use the following command:
$ PMDF PASSWORD/SHOW/USER=*
27.7 – Error messages
%PMDF-E-
CANOPNPASS, Password file does not exist or cannot be opened
The PMDF password database does not exist, or could not be
opened.
%SYSTEM-F-NOWORLD, operation requires WORLD privilege
Must have WORLD privilege to use the PMDF PASSWORD/CONVERT
command, or to specify an entry for a user other than oneself.
28 – POPSTORE
The PMDF POPSTORE or PMDF MSGSTORE command line management
utility is an interactive, command oriented interface for
managing popstore and MessageStore accounts. Users with operating
system privileges as well as users with privileged popstore or
MessageStore accounts can use the utility. Also, the utility can
be used as a report generator as described in the PMDF popstore &
MessageStore Manager's Guide.
To run the utility, issue the DCL command
$ PMDF POPSTORE
or
$ PMDF MSGSTORE
Use the EXIT or QUIT command to exit the utility.
28.1 – ADD
Add a new user account to the popstore or MessageStore.
Syntax
ADD username[,...]
ADD/DOMAIN domain-name
Command Qualifiers Defaults
/CONFIRM
/DOMAIN
/FLAGS=flags
/LOG
/OVERDRAFT=value
/OWNER=owner
/PASSWORD=password
/PRIVATE=data
/PROMPT
/PWDEXPIRED
/QUOTA=value
28.1.1 – Parameters
username
Username to associate with the account or accounts being created.
28.1.2 – Description
The ADD command is used to create one or more new popstore user
accounts. An account will be created for each username supplied
on the command line. Initial settings for the accounts are taken
from the DEFAULT account. Those settings can then be overridden
with the command line qualifiers described below.
If a supplied username conflicts with an existing account, no
new account is created and an error message is issued. Note that
account usernames are case insensitive. That is the usernames
JDOE, JDOE, and JDOE are all identical.
To create a new user domain, specify the /DOMAIN qualifier. If
the domain already exists, an error will be issued. Otherwise,
it will be created and a DEFAULT user account for that domain
created. The new DEFAULT account will be a copy of the DEFAULT
account from the DEFAULT domain. To begin creating accounts in
the new domain, use the SET DOMAIN command. The maximum length of
a user domain name is 40 bytes.
NOTE
Your PMDF-POPSTORE license controls the number of popstore
user accounts which you can have at any one time. When
you reach this limit, you will not be allowed to create
additional accounts without first deleting some accounts
or obtaining a new license with an increased limit. Sites
without a PMDF-POPSTORE license are allowed to use the
popstore and create up to ten user accounts. This limit does
not include the DEFAULT account. Use the SHOW/COUNT_USERS
command to display the number of currently defined accounts
as well as the limit allowed by your license.
28.1.3 – Command Qualifiers
28.1.3.1 /CONFIRM
/CONFIRM
/NOCONFIRM (default)
Prompt for positive confirmation before carrying out the
indicated operation. /NOCONFIRM is the default behavior.
28.1.3.2 /DOMAIN
Create a new user domain. This switch can not be used in
conjunction with any of the other ADD command qualifiers.
28.1.3.3 /FLAGS
/FLAGS=(flag[,...])
Specify one or more usage flags to associate with the new
account. The recognized flags are as follows:
DISMAIL User is not allowed to receive new mail messages.
DISUSER User is not allowed to access their account.
LOCKPWD User is not allowed to change their password.
MANAGE User is allowed to manage popstore accounts.
MIGRATED Internal flag used by the PMDF migration
utilities.
PWD_ Password information is stored outside of the
ELSEWHERE popstore.
NODISMAIL User is allowed to receive new mail messages.
NODISUSER User is allowed to access their account.
NOLOCKPWD User is allowed to change their password.
NOMANAGE User is not allowed to manage popstore accounts.
NOMIGRATED Internal flag used by the PMDF migration
utilities.
NOPWD_ Password information is stored within the
ELSEWHERE popstore.
28.1.3.4 /LOG
/LOG
/NOLOG (default)
When the operation is successful, output a status message stating
that the operation succeeded. Note that error messages are always
indicated. /NOLOG is the default behavior.
28.1.3.5 /OVERDRAFT
/OVERDRAFT=value
/NOOVERDRAFT
The /OVERDRAFT qualifier specifies the amount of message storage
by which the account can exceed its message storage quota. If the
account is currently using less than its storage quota, then a
new message can be stored provided that it will not result in the
account's storage exceeding the sum of its storage and overdraft
quotas.
The /NOOVERDRAFT qualifier is equivalent to specifying
/OVERDRAFT=0 and indicates that the account has no overdraft
quota.
By default, this quantity is specified in units of kbytes;
however, the SET STORAGE_UNITS command can be used to change
the units used.
The maximum value is 4 gigabytes minus 1. If the value specified
exceeds the maximum, the value is set to zero (no overdraft
quota).
28.1.3.6 /OWNER
/OWNER=owner
A text string specifying the name of the owner of the account.
The length of the string can not exceed 40 bytes. The owner
field is not used by the popstore itself; it is generally used
by humans to associate account usernames with the actual owner of
the account.
28.1.3.7 /PASSWORD
/PASSWORD=password
/NOPASSWORD
Specifies the account's access password. The length of the
password can not exceed 32 bytes. Access by non-managers to the
account requires knowledge of this password. For instance, to
access the account from a POP3 client, the correct username and
password associated with the account must be supplied.
The /NOPASSWORD qualifier specifies that the account does not
require a password to access it.
Note that passwords are case sensitive. Note further that the
command line reader will convert to lower case any string not
enclosed in quotes. As such, a password containing upper case
characters must be enclosed in quotes.
28.1.3.8 /PRIVATE
/PRIVATE=data
Site-specific account data can be stored in the account profile
file using this qualifier. The data string can not exceed a
length of 64 bytes. This data is not used by the popstore itself
but can be used by site-developed procedures which access account
profiles.
28.1.3.9 /PROMPT
/PROMPT (default)
/NOPROMPT
By default if a wildcard is used, even if /NOCONFIRM is
specified, one confirmation prompt is issued. If /NOPROMPT is
specified, there is no prompting at all.
28.1.3.10 /PWDEXPIRED
/PWDEXPIRED
/NOPWDEXPIRED (default)
If /PWDEXPIRED is specified, then the account is marked as
pre-expired. This means that if password expiration is enabled
through the PASSWORD_LIFETIME option, then the user must change
their password immediately.
If /NOPWDEXPIRED is specified (the default), then the account is
marked as not pre-expired. The time of last password change is
set to the current time. If password expiration is enabled, then
the user does not have to change the password until the PASSWORD_
LIFETIME has run out.
28.1.3.11 /QUOTA
/QUOTA=value
/NOQUOTA
The /QUOTA qualifier specifies the account's message storage
quota. The account can continue to receive new messages so long
as the storage consumed by its currently stored messages does not
exceed its message storage quota. See also /OVERDRAFT.
A quota value of zero, as specified with /NOQUOTA or /QUOTA=0,
conveys unlimited storage. That is, to grant an account unlimited
storage set its quota to zero.
By default, this quantity is specified in units of kbytes;
however, the SET STORAGE_UNITS command can be used to change
the units used.
The maximum value is 4 gigabytes minus 1. If the value specified
exceeds the maximum, the value is set to zero (unlimited quota).
28.1.4 – Examples
To create the account JDOE for Jane Doe with the password
SeCrEt, and a quota of 10 Mbytes (10240 Kbytes), use the
command
popstore> ADD JDOE/PASSWORD="SeCrEt"/OWNER="Jane Doe"/QUOTA=10240
popstore> SHOW JDOE
Username: jdoe
Owner: Jane Doe
Group:
Store Type: popstore
Usage flags:
Site-defined:
Last pwd change: Fri 15 Nov 15:33:02 2012
Last connect: No time recorded
Last disconnect: No time recorded
Total connect time: 0 00:00:00
Total connections: 0
Past block days: 0
Last billing: Fri Nov 15 5 15:33:02 2012
Message count: 0 (0 total messages received)
Quota used: 0.00 Kbytes
Quota: 10240.00 Kbytes
Overdraft: 20.00 Kbytes
28.2 – COPY
Create a new account which duplicates an existing account
(popstore only).
Syntax
COPY from-username to-username[,...]
Command Qualifiers Defaults
/CONFIRM
/FLAGS=flags
/GROUP_NAME=name
/LOG
/OVERDRAFT=value
/OWNER=owner
/PASSWORD=password
/PRIVATE=data
/PROMPT
/PWDEXPIRED
/QUOTA=value
28.2.1 – Parameters
from-username
The name of the popstore account to copy.
to-username
The name of the popstore account or accounts to create.
28.2.2 – Description
Use the COPY command to create a new popstore account which
duplicates an existing popstore account. Note that the new
account will have its usage accounting fields set to zero (e.g.,
last connect, total connect, past block days, etc.). Also,
the new account will not have any stored messages, even if the
account being duplicated has stored messages.
If the username of the new account conflicts with an existing
account, no new account is created and an error message is
issued.
See also the RENAME command.
NOTE
Your PMDF-POPSTORE license controls the number of popstore
user accounts which you can have at any one time. When
you reach this limit, you will not be allowed to create
additional accounts without first deleting some accounts
or obtaining a new license with an increased limit. Sites
without a PMDF-POPSTORE license are allowed to use the
popstore and create up to ten user accounts. This limit does
not include the DEFAULT account. Use the SHOW/COUNT_USERS
command to display the number of currently defined accounts
as well as the limit allowed by your license.
28.2.3 – Command Qualifiers
28.2.3.1 /CONFIRM
/CONFIRM
/NOCONFIRM (default)
Prompt for positive confirmation before carrying out the
indicated operation. /NOCONFIRM is the default behavior.
28.2.3.2 /FLAGS
/FLAGS=(flag[,...])
Specify one or more usage flags to associate with the new
account. The recognized flags are as follows:
DISMAIL User is not allowed to receive new mail messages.
DISUSER User is not allowed to access their account.
LOCKPWD User is not allowed to change their password.
MANAGE User is allowed to manage popstore accounts.
MIGRATED Internal flag used by the PMDF migration
utilities.
PWD_ Password information is stored outside of the
ELSEWHERE popstore.
NODISMAIL User is allowed to receive new mail messages.
NODISUSER User is allowed to access their account.
NOLOCKPWD User is allowed to change their password.
NOMANAGE User is not allowed to manage popstore accounts.
NOMIGRATED Internal flag used by the PMDF migration
utilities.
NOPWD_ Password information is stored within the
ELSEWHERE popstore.
28.2.3.3 /GROUP_NAME
/GROUP_NAME=name
Place the new account into the specified management group. If not
specified, the the management group of the account being copied
is assumed. A manager can not create an account into a group
which they cannot manage.
28.2.3.4 /LOG
/LOG
/NOLOG (default)
When the operation is successful, output a status message stating
that the operation succeeded. Note that error messages are always
indicated. /NOLOG is the default behavior.
28.2.3.5 /OVERDRAFT
/OVERDRAFT=value
/NOOVERDRAFT
The /OVERDRAFT qualifier specifies the amount of message storage
by which the new account can exceed its message storage quota. If
the account is currently using less than its storage quota, then
a new message can be stored provided that it will not result in
the account's storage exceeding the sum of the its storage and
overdraft quotas.
By default, this quantity is specified in units of kbytes;
however, the SET STORAGE_UNITS command can be used to change
the units used.
The /NOOVERDRAFT qualifier is equivalent to /OVERDRAFT=0 and
specifies that the new account has no overdraft quota.
The maximum value is 4 gigabytes minus 1. If the value specified
exceeds the maximum, the value is set to zero (no overdraft
quota).
28.2.3.6 /OWNER
/OWNER=owner
A text string specifying the name of the owner of the new
account. The length of the string can not exceed 40 bytes. The
owner field is not used by the popstore itself; it is generally
used by humans to associate account usernames with the actual
owner of the account.
28.2.3.7 /PASSWORD
/PASSWORD=password
/NOPASSWORD
Specifies the new account's access password. The length of the
password can not exceed 32 bytes. Access by non-managers to the
account requires knowledge of this password. For instance, to
access the account from a POP3 client, the correct username and
password associated with the account must be supplied.
The /NOPASSWORD qualifier specifies that the new account does not
require a password to access it.
Note that passwords are case sensitive. Note further that the
command line reader will convert to lower case any string not
enclosed in quotes. As such, a password containing upper case
characters must be enclosed in quotes.
28.2.3.8 /PRIVATE
/PRIVATE=data
Site-specific account data for the new account can be stored in
the account profile file using this qualifier. The data string
can not exceed a length of 64 bytes. This data is not used by
the popstore itself but can be used by site-developed procedures
which access account profiles.
28.2.3.9 /PROMPT
/PROMPT (default)
/NOPROMPT
By default if a wildcard is used, even if /NOCONFIRM is
specified, one confirmation prompt is issued. If /NOPROMPT is
specified, there is no prompting at all.
28.2.3.10 /PWDEXPIRED
/PWDEXPIRED
/NOPWDEXPIRED (default)
If /PWDEXPIRED is specified, then the account is marked as
pre-expired. This means that if password expiration is enabled
through the PASSWORD_LIFETIME option, then the user must change
their password immediately.
If /NOPWDEXPIRED is specified (the default), then the account is
marked as not pre-expired. The time of last password change is
set to the current time. If password expiration is enabled, then
the user does not have to change the password until the PASSWORD_
LIFETIME has run out.
28.2.3.11 /QUOTA
/QUOTA=value
/NOQUOTA
The /QUOTA qualifier specifies the new account's message storage
quota. The account can continue to receive new messages so long
as the storage consumed by its currently stored messages does not
exceed its message storage quota. See also /OVERDRAFT.
A quota value of zero, as specified with either /QUOTA=0 or
/NOQUOTA, conveys unlimited storage. That is, to grant an account
unlimited storage set its quota to zero.
By default, this quantity is specified in units of kbytes;
however, the SET STORAGE_UNITS command can be used to change
the units used.
The maximum value is 4 gigabytes minus 1. If the value specified
exceeds the maximum, the value is set to zero (unlimited quota).
28.2.4 – Examples
To create a new account JDOE for Jane Doe which duplicates the
account BSMITH but has different owner and password fields, use
the command
popstore> COPY BSMITH JDOE/PASSWORD="SeCrEt"/OWNER="Jane Doe"
28.3 – DELETE
Remove user accounts from the popstore or delete users' messages.
Syntax
DELETE username[,...]
Command Qualifiers Defaults
/CONFIRM
/GROUP=name
/LOG
/MESSAGES
/PROMPT
/RETURN /NORETURN
28.3.1 – Parameters
username
Name of the account to delete. Can contain wild card characters.
28.3.2 – Description
Use the DELETE command to remove one or more user accounts. By
default, stored messages for the accounts are deleted silently.
To cause unread messages to be returned to their originators as
undelivered, specify /RETURN.
Use the /MESSAGES qualifier to delete or return a user's
messages. The account itself will not be deleted.
When the USERNAME parameter contains wild card characters, all
matching accounts within the manager's management group and
subgroups thereof will be deleted. The /GROUP qualifier can be
used to further constrain which accounts are deleted.
28.3.3 – Command Qualifiers
28.3.3.1 /CONFIRM
/CONFIRM
/NOCONFIRM
Prompt for positive confirmation before carrying out the
indicated operation. When wild cards are not used, /NOCONFIRM
is the default. When wild cards are used, /CONFIRM is the default
and a prompt is issued for each account to be operated upon.
Moreover, when wild cards are used, /NOCONFIRM causes only a
single prompt to be issued-it does not eliminate the prompt
altogether.
28.3.3.2 /GROUP
/GROUP=name
Name of a management group to constrain the operation to. This
qualifier can be used in conjunction with a username parameter
containing wild card characters so as to further constrain the
delete operation.
28.3.3.3 /LOG
/LOG
/NOLOG
When the operation is successful, output a status message stating
that the operation succeeded. Note that error messages are always
indicated. /NOLOG is the default behavior unless wild cards are
used in which case /LOG is the default.
28.3.3.4 /MESSAGES
When the /MESSAGES qualifier is specified, only the user's
messages are deleted or returned. The account itself is not
deleted.
28.3.3.5 /PROMPT
/PROMPT (default)
/NOPROMPT
By default if a wildcard is used, even if /NOCONFIRM is
specified, one confirmation prompt is issued. If /NOPROMPT is
specified, there is no prompting at all.
28.3.3.6 /RETURN
/RETURN
/NORETURN (default)
When /RETURN is specified, unread messages are returned to their
originator as undelivered. By default unread messages are deleted
without sending a non-delivery notice back to their originators.
28.3.4 – Examples
To delete the accounts JDOE and BSMITH, issue the command
popstore> DELETE JDOE,BSMITH
28.4 – EXIT
Exit the utility.
Syntax
EXIT
Command Qualifiers Defaults
None
28.4.1 – Parameters
None.
28.4.2 – Description
The EXIT command exits the utility.
28.5 – FORWARD
Establish a forwarding address.
Syntax
FORWARD username forward-to-address
Command Qualifiers Defaults
/OVERRIDE /OVERRIDE
28.5.1 – Parameters
username
Username for which to establish a forwarding address.
forward-to-address
Address to which to forward messages. Must be a single, fully-
qualified RFC822 address-specifically, a RFC822 "addr-spec".
28.5.2 – Description
Messages destined for the popstore can be automatically forwarded
to a different popstore addressee or to another address outside
of the popstore altogether. This is done by establishing a
forwarding address with the FORWARD command. For instance, to
forward all mail for the popstore user SANDY to the address
sandra@example.com, issue the command
popstore> FORWARD SANDY SANDRA@EXAMPLE.COM
The username supplied (e.g., SANDY) need not correspond to an
actual popstore account.
Note that if more than one forwarding address is supplied, then
each address should be separated by commas and all the addresses
enclosed in a set of double quotes. For example,
popstore> FORWARD SANDY "SANDY,SANDRA@EXAMPLE.COM"
When a forwarding address is established for an actual popstore
user, that user will no longer receive mail in the popstore
unless the forwarding includes their account in the list of
addresses to forward to. For instance, the first example
above would cause the account SANDY to no longer receive into
the popstore mail sent to it. The mail is instead directed
to sandra@example.com. In the second example, however, mail
will still be stored into the popstore for the account
SANDY. In addition, a copy of the mail will be forwarded to
sandra@example.com.
28.5.3 – Command Qualifiers
28.5.3.1 /OVERRIDE
/OVERRIDE (default)
/NOOVERRIDE
By default, forwarding addresses can be established for existing
popstore users. Specify /NOOVERRIDE to prevent inadvertently
forwarding an existing user's messages elsewhere.
A manager cannot establish a forwarding address which will
override a popstore account outside of their own management
group.
28.6 – GROUP
Manipulate management groups.
Syntax
GROUP/ADD [group-name [subgroup-name[,...]]]
GROUP/DELETE group-name
GROUP/LIST [group-name]
GROUP/MODIFY group-name [subgroup-name[,...]]
Command Qualifiers Defaults
/ADD
/CONFIRM
/DELETE
/FORMAT_FILE=file-spec
/LIST
/LOG
/MODIFY
/OUTPUT=file-spec
/PROMPT
/RECUR
28.6.1 – Parameters
group-name
Name of the group to add, delete, list, or modify. Wild cards can
be used in conjunction with the /LIST qualifier.
subgroup-name[,...]
A comma separated list group names to associated with the group
being added or modified. The listed groups will become subgroups
of the group being added or modified.
28.6.2 – Description
The GROUP command is used to manipulate the popstore management
groups. Only managers with either operating system privileges or
a privileged popstore account with access to the WORLD group can
use this command. In regards to the latter case, that means that
the manager's account must have the MANAGE usage flag set and
either have no group name associated with the account-the empty
group-or be in a management group which contains as a subgroup
the WORLD group. The one exception to this rule is that a manager
can always use the /LIST qualifier to list their own management
group and subgroups thereof.
28.6.3 – Command Qualifiers
28.6.3.1 /ADD
This qualifier indicates that a new management group is to be
added. If a group already exists with the same name, then an
error will be output.
28.6.3.2 /CONFIRM
/CONFIRM
/NOCONFIRM (default)
Prompt for positive confirmation before carrying out the
indicated operation. /NOCONFIRM is the default behavior.
28.6.3.3 /DELETE
This qualifier indicates that the specified management group
is to be deleted. Note that subgroups contained within the
group are not deleted by default. Specify /RECUR to also
delete any subgroups. Moreover, the actual accounts in the
group are not deleted either. They can only be deleted with a
DELETE/GROUP=GROUP_NAME * command.
28.6.3.4 /FORMAT_FILE
/FORMAT_FILE=file-spec
Specify a formatting file to use to format the output of
GROUP/LIST command.
28.6.3.5 /LIST
List the specified groups and subgroups. When this qualifier is
used, the GROUP-NAME parameter can contain wild card characters.
When the parameter is omitted, * is assumed.
28.6.3.6 /LOG
/LOG
/NOLOG (default)
When the operation is successful, output a status message stating
that the operation succeeded. Note that error messages are always
indicated. /NOLOG is the default behavior.
28.6.3.7 /MODIFY
Modify the specified group, replacing its list of subgroups with
the specified list. If no list is specified, then the group is
changed to contain no subgroups.
28.6.3.8 /OUTPUT
/OUTPUT=file-spec
Write the output to the specified file rather than to the
terminal.
28.6.3.9 /PROMPT
/PROMPT (default)
/NOPROMPT
By default if a wildcard is used, even if /NOCONFIRM is
specified, one confirmation prompt is issued. If /NOPROMPT is
specified, there is no prompting at all. This qualifier can be
used in conjunction with the /ADD, /DELETE, or /MODIFY switches.
28.6.3.10 /RECUR
/RECUR
/NORECUR (default)
This qualifier can be used in conjunction with /DELETE. By
default, only the specified group is deleted. Subgroups of that
group are not deleted unless /RECUR is also specified.
28.7 – LOGIN
Activate management privileges.
Syntax
LOGIN [username]
Command Qualifiers Defaults
None
28.7.1 – Parameters
username
Name of the account under which to log in.
28.7.2 – Description
Popstore users who have popstore management privileges but lack
operating system privileges must log in to their account with
the LOGIN command in order to perform management operations.
Once logged in, the utility will then allow the user to perform
management operations. Users who have operating system privileges
(e.g., SYSPRV and SYSLCK privileges on OpenVMS), need not log in
to their account.
To log in to a popstore account, the popstore account's username
should be supplied using the username parameter to the LOGIN
command. If the username parameter is omitted, the utility will
use the name of the operating system account under which the user
is logged in. The utility will then prompt for a password. If
the correct password for the popstore account is supplied, and
the account has the manage flag set, then the utility will allow
management operations to be undertaken using the utility's image
privileges.
A popstore account is granted management privileges by specifying
/FLAGS=MANAGE
when creating or modifying it with the ADD or MODIFY commands.
See also the LOGOUT command.
28.7.3 – Examples
To log in to the account BOB, issue the command
popstore> LOGIN BOB
Password: santaclaus
Login succeeded; management capabilities enabled
28.8 – LOGOUT
Deactivate management privileges.
Syntax
LOGOUT
Command Qualifiers Defaults
None
28.8.1 – Parameters
None.
28.8.2 – Description
Use the LOGOUT command to deactivate privileges activated with
the LOGIN command. Note that management privileges are also
deactivated when the utility is exited.
28.9 – MODIFY
Change characteristics of one or more existing accounts.
Syntax
MODIFY username[,...]
Command Qualifiers Defaults
/CONFIRM
/FLAGS=flags
/GROUP=name
/GROUP_NAME=name
/LAST_CONNECT
/LAST_DISCONNECT
/LOG
/MESSAGE_COUNT=value
/OVERDRAFT=value
/OWNER=owner
/PASSWORD=password
/PAST_BLOCK_DAYS=value
/PRIVATE=data
/PROMPT
/PWDEXPIRED
/QUOTA=value
/RECEIVED_BYTES=value
/RECEIVED_MESSAGES=value
/TOTAL_CONNECT=value
/TOTAL_CONNECTIONS=value
28.9.1 – Parameters
username
Name of the account for which to make the modifications. Can
contain wild card characters.
28.9.2 – Description
The MODIFY command changes one or more characteristics of an
existing account. Characteristics not specified with qualifiers
in the command are left unchanged.
When the username parameter contains wild card characters, all
matching accounts within the manager's management group and
subgroups thereof will be modified. The /GROUP qualifier can
be used to further constrain which accounts are modified.
28.9.3 – Command Qualifiers
28.9.3.1 /CONFIRM
/CONFIRM
/NOCONFIRM
Prompt for positive confirmation before carrying out the
indicated operation. When wild cards are not used, /NOCONFIRM
is the default. When wild cards are used, /CONFIRM is the default
and a prompt is issued for each account to be operated upon.
Moreover, when wild cards are used, /NOCONFIRM causes only a
single prompt to be issued-it does not eliminate the prompt
altogether.
28.9.3.2 /FLAGS
/FLAGS=(flag[,...])
Change the usage flags associated with the account. The
recognized flags are as follows:
DISMAIL User is not allowed to receive new mail messages.
DISUSER User is not allowed to access their account.
LOCKPWD User is not allowed to change their password.
MANAGE User is allowed to manage popstore accounts.
MIGRATED Internal flag used by the PMDF migration
utilities.
PWD_ Password information is stored outside of the
ELSEWHERE popstore.
NODISMAIL User is allowed to receive new mail messages.
NODISUSER User is allowed to access their account.
NOLOCKPWD User is allowed to change their password.
NOMANAGE User is not allowed to manage popstore accounts.
NOMIGRATED Internal flag used by the PMDF migration
utilities.
NOPWD_ Password information is stored within the
ELSEWHERE popstore.
28.9.3.3 /GROUP
/GROUP=name
Name of a management group to constrain the operation to. This
qualifier can be used in conjunction with a username parameter
containing wild card characters so as to further constrain the
modify operation.
28.9.3.4 /GROUP_NAME
/GROUP_NAME=name
Change the accounts to be in the specified management group. A
manager can not change an account's management group to be a
group outside of the manager's group.
28.9.3.5 /LAST_CONNECT
Clear the user's last connect time field.
28.9.3.6 /LAST_DISCONNECT
Clear the user's last disconnect time field.
28.9.3.7 /LOG
/LOG
/NOLOG
When the operation is successful, output a status message stating
that the operation succeeded. Note that error messages are always
indicated. /NOLOG is the default behavior unless wild cards are
used in which case /LOG is the default.
28.9.3.8 /MESSAGE_COUNT
/MESSAGE_COUNT=value
Reduce the user's message count to the specified value, deleting
stored messages if necessary. The act of deleting stored message
will change the past block days field.
28.9.3.9 /OVERDRAFT
/OVERDRAFT=value
/NOOVERDRAFT
Change the account's overdraft quota which is the amount of
message storage by which the account can exceed its primary
message storage quota. By default, this quantity is specified
in units of kbytes; however, the SET STORAGE_UNITS command can be
used to change the units used.
The /NOOVERDRAFT qualifier is equivalent to specifying
/OVERDRAFT=0 and indicates that the account has no overdraft
quota.
The maximum value is 4 gigabytes minus 1. If the value specified
exceeds the maximum, the value is set to zero (no overdraft
quota).
28.9.3.10 /OWNER
/OWNER=owner
Change the accounts ownership field. The length of the string
can not exceed 40 bytes. The owner field is not used by the
popstore itself; it is generally used by humans to associate
account usernames with the actual owner of the account.
28.9.3.11 /PASSWORD
/PASSWORD=password
/NOPASSWORD
Change the account's password. The length of the password can not
exceed 32 bytes. Access by non-managers to the account requires
knowledge of this password. For instance, to access the account
from a POP3 client, the correct username and password associated
with the account must be supplied.
The /NOPASSWORD qualifier specifies that the account does not
require a password to access it.
Note that passwords are case sensitive. Note further that the
command line reader will convert to lower case any string not
enclosed in quotes. As such, a password containing upper case
characters must be enclosed in quotes.
28.9.3.12 /PAST_BLOCK_DAYS
/PAST_BLOCK_DAYS=value
Set the user's past block days field to the specified, integer
value. Changing this value clears the past block days remainder
field.
28.9.3.13 /PRIVATE
/PRIVATE=data
Change the site-specific account data stored in the account
profile file. The data string can not exceed a length of 64
bytes. This data is not used by the popstore itself but can be
used by site-developed procedures which access account profiles.
28.9.3.14 /PROMPT
/PROMPT (default)
/NOPROMPT
By default if a wildcard is used, even if /NOCONFIRM is
specified, one confirmation prompt is issued. If /NOPROMPT is
specified, there is no prompting at all.
28.9.3.15 /PWDEXPIRED
/PWDEXPIRED
/NOPWDEXPIRED
If /PWDEXPIRED is specified, then the account is marked as
pre-expired. This means that if password expiration is enabled
through the PASSWORD_LIFETIME option, then the user must change
their password immediately.
If /NOPWDEXPIRED is specified, then the account is marked as
not pre-expired. The time of last password change is set to the
current time. If password expiration is enabled, then the user
does not have to change the password until the PASSWORD_LIFETIME
has run out.
The default is to not change the pre-expired status of the
account.
28.9.3.16 /QUOTA
/QUOTA=value
/NOQUOTA
Change the account's message storage quota. The account can
continue to receive new messages so long as the storage consumed
by its currently stored messages does not exceed its message
storage quota. See also /OVERDRAFT.
A quota value of zero, as specified with /NOQUOTA or /QUOTA=0,
conveys unlimited storage. That is, to grant an account unlimited
storage set its quota to zero.
A quota value of zero, conveys unlimited storage. That is, to
grant an account unlimited storage set its quota to zero.
By default, this quantity is specified in units of kbytes;
however, the SET STORAGE_UNITS command can be used to change
the units used.
The maximum value is 4 gigabytes minus 1. If the value specified
exceeds the maximum, the value is set to zero (unlimited quota).
28.9.3.17 /RECEIVED_BYTES
/RECEIVED_BYTES=value
Set the cumulative count of received message bytes to the
specified, integer value. By default, this quantity is specified
in units of kbytes; however, the SET STORAGE_UNITS command can be
used to change the units used. The maximum value is 4 gigabytes
minus 1. If the value specified exceeds the maximum, the value is
set to zero.
28.9.3.18 /RECEIVED_MESSAGES
/RECEIVED_MESSAGES=value
Set the cumulative count of received messages to the specified,
integer value.
28.9.3.19 /TOTAL_CONNECT
/TOTAL_CONNECT=value
Set the user's total connect field to the specified, integer
value.
28.9.3.20 /TOTAL_CONNECTIONS
/TOTAL_CONNECTIONS=value
Set the user's count of total connections to the specified,
integer value.
28.9.4 – Examples
In the following example, the quota and password fields are
changed for the user JDOE:
popstore> MODIFY JDOE/PASSWORD="TodaY"/QUOTA=20000
28.10 – NOFORWARD
Remove a forwarding address.
Syntax
NOFORWARD username[,...]
Command Qualifiers Defaults
None
28.10.1 – Parameters
username
Username for which to remove the forwarding.
28.10.2 – Description
Forwarding addresses are removed with the UNFORWARD command. If
the supplied username also matches an existing popstore account,
then that account will resume receiving new mail messages.
28.11 – QUIT
Exit the utility.
Syntax
QUIT
Command Qualifiers Defaults
None
28.11.1 – Parameters
None.
28.11.2 – Description
The QUIT command exits the utility. The QUIT command is a synonym
for the EXIT command.
28.12 – RENAME
Change the username associated with an account (popstore only).
Syntax
RENAME old-username new-username
Command Qualifiers Defaults
/CONFIRM
/LOG
/PROMPT
28.12.1 – Parameters
old-username
The old name of the account.
new-username
The new name for the account.
28.12.2 – Description
The RENAME command changes the username associated with a
popstore account. Once an account is renamed, it can no longer
receive mail under the old name unless a forwarding from the
old name to the new name is also established with the FORWARD
command.
28.12.3 – Command Qualifiers
28.12.3.1 /CONFIRM
/CONFIRM
/NOCONFIRM (default)
Prompt for positive confirmation before carrying out the
indicated operation. /NOCONFIRM is the default behavior.
28.12.3.2 /LOG
/LOG
/NOLOG (default)
When the operation is successful, output a status message stating
that the operation succeeded. Note that error messages are always
indicated. /NOLOG is the default behavior.
28.12.3.3 /PROMPT
/PROMPT (default)
/NOPROMPT
By default if a wildcard is used, even if /NOCONFIRM is
specified, one confirmation prompt is issued. If /NOPROMPT is
specified, there is no prompting at all.
28.12.4 – Examples
To rename the popstore account JDOE to JANEDOE, issue the
command:
popstore> RENAME JDOE JANEDOE
28.13 – SET
28.13.1 – DOMAIN
Select the user domain to manage.
Syntax
SET DOMAIN domain-name
Command Qualifiers Defaults
None
28.13.1.1 – Parameters
domain-name
Name of the user domain to manage.
28.13.1.2 – Description
By default, the DEFAULT user domain is managed with this utility.
To manage a different user domain, select that domain with the
SET DOMAIN command.
For example, to manage the EXAMPLE.COM domain, specify
popstore> SET
Using the "default" user domain
...
popstore> SET DOMAIN EXAMPLE.COM
popstore> SET
Using the "example.com" user domain
...
popstore>
28.13.2 – STORAGE_UNITS
Set the units used to measure byte-counted values.
Syntax
SET STORAGE_UNITS type
Command Qualifiers Defaults
None
28.13.2.1 – Parameters
type
Type of units to use. Must be one of BYTES, KBYTES, MBYTES, or
GBYTES.
28.13.2.2 – Description
By default, units of KBYTES (1024 bytes) are used when specifying
values for byte-count valued fields such as message quotas.
To select a unit of measure other than KBYTES, use the SET
STORAGE_UNITS command. BYTES selects bytes, KBYTES selects
1024 bytes, MBYTES selects 1024 KBYTES, and GBYTES selects 1024
MBYTES.
After issuing a SET STORAGE_UNITS command, all byte-count valued
numbers input on the command line will be interpreted as being
measured in the newly selected units. Note that displayed values
are displayed in the units called for by the formatting template
used to generate the display.
For example, to use units of megabytes, specify
popstore> SET STORAGE_UNITS MBYTES
28.13.3 – TIME_UNITS
Set the units used to measure time-valued fields.
Syntax
SET TIME_UNITS type
Command Qualifiers Defaults
None
28.13.3.1 – Parameters
type
Type of units to use. Must be one of SECONDS, MINUTES, HOURS, or
DAYS.
28.13.3.2 – Description
By default, time units of DAYS are used when specifying values
for time-valued fields. Presently, the only time-valued field
is the total connect time field which can be modified with the
/TOTAL_CONNECT qualifier of the MODIFY command.
To select a unit of measure other than DAYS, use the SET TIME_
UNITS command. After issuing a SET TIME_UNITS command, all time-
valued numbers input on the command line will be interpreted as
being measured in the newly selected units. Note that displayed
values are displayed in the units called for by the formatting
template used to generate the display. For example, to use units
of HOURS, specify
popstore> SET TIME_UNITS HOURS
28.14 – SHOW
Display user accounts.
Syntax
SHOW username[,...]
Command Qualifiers Defaults
/ALL
/BRIEF
/COUNT_USERS
/DOMAINS
/FORMAT_FILE=file-spec
/FORWARDINGS
/GROUP=name
/MESSAGES
/OUTPUT=file-spec
/STORE=store-type
28.14.1 – Parameters
username
Names of the accounts for which to display information. Wild
cards are permitted.
28.14.2 – Description
The SHOW command shows settings for one or more user profiles,
displays established forwarding addresses, and lists information
about messages received by users. The username parameter can
contain wild cards when displaying account information; it can
not contain wild cards when listing forwardings.
Use the SHOW/FORWARDINGS and SHOW/DOMAINS commands to generate
listings of, respectively, user e-mail forwardings and user
domains.
Use the SHOW/COUNT_USERS command to list the number of currently
defined accounts as well as any licensing limits.
28.14.3 – Command Qualifiers
28.14.3.1 /ALL
By default, only popstore accounts are displayed: MessageStore
and native accounts are not displayed. Specify /ALL to list all
accounts. Note that /ALL and /STORE=ALL are synonyms.
28.14.3.2 /BRIEF
Generate a brief profile or message listing. By default, the
formatting file POPMGR_PROFILE_BRIEF.TXT is used to format the
output for profile displays and POPMGR_MESSSAGE_BRIEF.TXT for
message displays. This qualifier has no effect when used in
conjunction with the /FORWARDINGS qualifier.
28.14.3.3 /COUNT_USERS
Display the number of currently defined user accounts as well as
the number allowed by your PMDF-POPSTORE license. Specify /ALL to
see both the popstore and MessageStore counts.
28.14.3.4 /DOMAINS
Generate a list of defined user domains. By default, the
formatting file POPMGR_DOMAINS.TXT is used to format the output.
28.14.3.5 /FORMAT_FILE
/FORMAT_FILE=file-spec
Specify a formatting file to use to format the output.
28.14.3.6 /FORWARDINGS
Display information about established forwarding addresses. By
default, the formatting file POPMGR_FORWARD.TXT is used to format
the output.
28.14.3.7 /FULL
/FULL (default)
Generate verbose output. By default, the formatting file POPMGR_
PROFILE.TXT is used to format profile information; POPMGR_
MESSAGE.TXT for message listings; POPMGR_DOMAINS.TXT for domain
listings; and, POPMGR_FORWARD.TXT for forwarding addresses. Those
formatting files are found with the other formatting files in the
PMDF_ROOT:[WWW.POPSTORE] directory.
28.14.3.8 /GROUP
/GROUP=name
Confine the listing to the specified management group and its
subgroups.
28.14.3.9 /MESSAGES
Display information on the users' messages. By default, the
formatting file POPMGR_MESSAGE.TXT is used to format the display.
28.14.3.10 /OUTPUT
/OUTPUT=file-spec
Write the output to the specified file rather than to the
terminal.
28.14.3.11 /STORE
/STORE=store-type
By default, only popstore accounts are displayed: MessageStore
and native accounts are not displayed. Specify /STORE=ALL to list
all accounts; use a store-type of MSGSTORE or IMAP to list only
MessageStore accounts; use a store-type of POPSTORE or POP to
list only popstore accounts; and, use a store-type of NATIVE to
list only profiles marked as being native.
28.14.4 – Examples
In the following example, full and brief listings are generated
for the DEFAULT popstore account:
popstore> SHOW DEFAULT
Username: default
Owner: Default user profile
Group:
Store Type: popstore
Usage flags:
Site-defined:
Last pwd change: No time recorded
Last connect: No time recorded
Last disconnect: No time recorded
Total connect time: 0 00:00:00
Total connections: 0
Past block days: 0
Last billing: Fri Nov 15 10:23:54 2012
Message count: 0 (0 total messages received)
Quota used: 0.00 Kbytes
Quota: 1024.00 Kbytes
Overdraft: 51.00 Kbytes
popstore> SHOW/BRIEF DEFAULT
Quota Message Quota used
Username (kbytes) Count (kbytes)
----------------------------------------------------------------
default 1024.00 0 0.00
----------------------------------------------------------------
*Note: privileged users are flagged with an asterisk
28.15 – TEST
Test optional, site-supplied subroutines to verify that they load
and function correctly.
Syntax
TEST/BLOCK_DAYS image-spec starting-time ending-time size
remainder
TEST/CONNECT image-spec starting-time ending-time
TEST/MESSAGE_MAPPING image-spec
TEST/PATHS path-file-spec
TEST/PROFILE_MAPPING image-spec
Command Qualifiers Defaults
/BLOCK_DAYS
/CONNECT
/MESSAGE_MAPPING
/PATHS
/PROFILE_MAPPING
28.15.1 – Parameters
image-spec
Executive mode logical whose translation value is the file
specification for the shareable image containing the subroutine
to test.
starting-time
Starting time value to pass to the COMPUTE_CONNECT or COMPUTE_
BLOCK_DAYS subroutine.
ending-time
Ending time value to pass to the COMPUTE_CONNECT or COMPUTE_
BLOCK_DAYS subroutine.
size
Size value to pass to the COMPUTE_BLOCK_DAYS subroutine.
remainder
Remainder value to pass to the COMPUTE_BLOCK_DAYS subroutine.
path-file-spec
File specification for the file of directory paths to check.
28.15.2 – Description
The TEST command provides a mechanism to test site-supplied
subroutines intended for use with the popstore. The purpose and
usage of those subroutines is described in the PMDF popstore
& MessageStore Manager's Guide. Note that the shareable image
containing the subroutine to be tested must be installed as a
known image with the DCL INSTALL CREATE command. Moreover, an
executive mode logical must be used to reference the image.
The name of that logical is specified with the image-spec
parameter. And, any logical referenced by that logical must also
be an executive mode logical. These requirements are OpenVMS
requirements and are enforced by LIB$FIND_IMAGE_SYMBOL, the run-
time library subroutine used by the popstore to dynamically load
and link to the subroutine.
Note that if you use the TEST command and then subsequently
change your subroutine, then you will need to exit the utility
and restart it before you can retest your subroutine. This is
because LIB$FIND_IMAGE_SYMBOL won't reload the subroutine a
second time. Also, when rebuilding a shareable image, be sure
to use the DCL INSTALL REPLACE command to install the new version
of the image.
The TEST/MESSAGE_MAPPING and TEST/PROFILE_MAPPING commands test,
respectively, MAP_MESSAGE_FILENAME and MAP_PROFILE_FILENAME
subroutines. The command will load the subroutine from the
specified image and then, for each stored message or profile
file, run the filename through the subroutine. The input and
output file names for each file will be displayed along with
diagnostic information, should an error occur.
The TEST/CONNECT and TEST/BLOCK_DAYS commands test, respectively,
the COMPUTE_CONNECT and COMPUTE_BLOCK_DAYS subroutines. With
each command, you can specify the values of the input arguments
to be passed to those subroutines. The results produced by
the subroutine will then be displayed. Should an error occur,
diagnostic information will be displayed.
Text files intended for use as PMDF_TABLE:POPSTORE_MESSAGE_PATHS.
or PMDF_TABLE:POPSTORE_PROFILES_PATHS. files can be tested with
the TEST /PATHS command. The command will scan the directory
trees listed in the specified file, displaying the files found in
each directory tree.
28.15.3 – Command Qualifiers
28.15.3.1 /BLOCK_DAYS
Test the COMPUTE_BLOCK_DAYS subroutine from the shareable image
image-spec.
28.15.3.2 /CONNECT
Test the COMPUTE_CONNECT subroutine from the shareable image
image-spec.
28.15.3.3 /MESSAGE_MAPPING
Test the MAP_MESSAGE_FILENAME subroutine from the shareable image
image-spec.
28.15.3.4 /PROFILE_MAPPING
Test the MAP_PROFILE_FILENAME subroutine from the shareable image
image-spec.
28.15.3.5 /PATHS
List the files from the directory trees specified in the path
file path-file-spec.
28.15.4 – Examples
In the following example, the MAP_PROFILE_FILENAME subroutine
described in the PMDF popstore & MessageStore Manager's Guide
is tested with the TEST/PROFILE_MAPPING command on an OpenVMS
Alpha system.
$ DEFINE/SYSTEM/EXECUTIVE_MODE POP_MAP_PROFILES -
_$ DISK3:[IMAGES]MAP_PROFILES.EXE
$ CC MAP_PROFILES.C
$ LINK/SHAREABLE=POP_MAP_PROFILES MAP_PROFILES.OBJ,SYS$INPUT:/OPT
SYMBOL_VECTOR=(map_profile_filename=PROCEDURE)
<CTRL/Z>
$ INSTALL CREATE POP_MAP_PROFILES
$ PMDF POPSTORE
popstore> TEST/PROFILE_MAPPING POP_MAP_PROFILES
PMDF_POPSTORE_PROFILES:[C.R.W]CRW.;1 -> DISK0:[PROFILES.C.R.W]CRW.;
PMDF_POPSTORE_PROFILES:[D.A.D]DAVID.;1 -> DISK0:[PROFILES.D.A.D]DAVID.;
PMDF_POPSTORE_PROFILES:[D.A.N]DAN.;1 -> DISK0:[PROFILES.D.A.N]DAN.;
PMDF_POPSTORE_PROFILES:[D.E.T]DEFAULT.;1 -> DISK0:[PROFILES.D.E.T]DEFAULT.;
PMDF_POPSTORE_PROFILES:[K.E.N]KEVIN.;1 -> DISK0:[PROFILES.K.E.N]KEVIN.;
PMDF_POPSTORE_PROFILES:[K.R.N]KRISTIN.;1 -> DISK0:[PROFILES.K.R.N]KRISTIN.;
PMDF_POPSTORE_PROFILES:[P.E.E]PEKIE.;1 -> DISK1:[PROFILES.P.E.E]PEKIE.;
PMDF_POPSTORE_PROFILES:[T.E.T]TEST.;1 -> DISK1:[PROFILES.T.E.T]TEST.;
popstore>
29 – PROCESS
List currently executing PMDF jobs.
Syntax
PMDF PROCESS [node]
Command Qualifiers Defaults
/MEMORY See text
29.1 – Restrictions
Requires WORLD privilege in order to see all processes.
29.2 – Parameters
node
The name of the node whose PMDF processes are to be displayed.
The asterisk character, *, may be specified to display processes
on all nodes in the cluster.
29.3 – Description
Show current PMDF processes. Normally, the PMDF Service
Dispatcher should always be present; additional processes may be
present if messages are currently being processed, or if certain
additional PMDF components are in use.
29.4 – Command Qualifiers
29.4.1 /MEMORY
Show the amount of memory being used by the processes.
29.5 – Examples
The following command shows current PMDF processes:
$ PMDF PROCESS
VAX OpenVMS V6.2 on node NAPLES 15-AUG-2012 10:56:23.25
Physical memory 80 MB (163840 pages) up since 14-AUG-2012 06:34:27.50
----- The following are on node NAPLES, a VAXstation 4000-90A -----
Pid Process Name State Pri I/O CPU Page flts Pages
22600127 PMDF counters HIB 8 2028 0 00:00:07.66 4390 203
22600372 <HTTP-01> HIB 6 1824 0 00:00:02.74 4921 124
226002B2 <DISPATCHER-01> HIB 6 4412 0 00:00:10.04 15578 554
226002B3 <SMTP-01> HIB 6 5249 0 00:00:28.85 22094 1246
226002B6 <POPPASSD-01> HIB 6 166 0 00:00:01.62 5248 198
30 – PS
Convert text and Runoff .MEM output files to PostScript.
30.1 – Restrictions
This utility is supplied only with the PMDF-FAX optional layered
product.
Syntax
PMDF PS input-file-spec [output-file-spec]
Qualifiers Defaults
/BOTTOM_MARGIN=margin /BOTTOM_MARGIN=72
/CALCULATE None
/CHARSET=charset_name /CHARSET=US-ASCII
/COLUMNS=columns_per_page /COLUMNS=1
/END_PAGE=page_number See text
/FONT=font /FONT=COURIER
/FORM=form_type /FORM=LETTER
/HEIGHT=form_height /HEIGHT=11
/ITALIC /UNDERLINE
/LANDSCAPE /PORTRAIT
/LEFT_MARGIN=margin /LEFT_MARGIN=72
/LINES=lines_per_page None
/MAIL None
/NUMBER_PAGES /NONUMBER_PAGES
/PORTRAIT /PORTRAIT
/SIZE=font_size /SIZE=12
/SPACING=spacing_factor /SPACING=1
/START_PAGE=page_number /START_PAGE=1
/TOP_MARGIN=margin /TOP_MARGIN=72
/UNDERLINE /UNDERLINE
/WIDTH=form_width /WIDTH=8.5
30.2 – Prompts
Input file: input-file-spec
Output file: output-file-spec
30.3 – Parameters
input-file-spec
The name of the text or Runoff .MEM file to convert to
PostScript. Only a single file can be specified; wildcards cannot
be used.
output-file-spec
An optional parameter specifying the name of the file to which
to write the PostScript. If no file name is specified, then the
output file will have the same name as the input file but with a
file extension of .PS.
30.4 – Description
PS converts normal text files to PostScript (PS) files that can
be printed or displayed on PostScript devices. The PS utility can
also translate Runoff .MEM files to Postscript.
PostScript graphics can be inserted into the text at any point.
The PostScript graphics should be in a separate file and
referenced in the text file being converted using the command
sequence
`~`~{include file-spec}
with FILE-SPEC the name of the file containing the PostScript
graphics (or commands) to insert. This command sequence can
occur anywhere in the file and as often as desired. PS sets
the PostScript coordinate system so that (0,0) corresponds to
the position on the page where the next text to be converted to
PostScript will be positioned, and then merges the PostScript
code from the file into the PS output stream. The effect of this
is that the lower left corner of the included image will appear
just where the command sequence appeared in the text. The command
sequence itself is removed and does not appear in the output. No
blank space is reserved for the image; you must do this yourself
in the text file.
PostScript commands can also be inserted directly into the text
input file being processed. To do this, use the command sequence
`~`~{insert PostScript commands}
The inserted PostScript commands sequence will be preceeded by
a save operator and followed by a restore operator. As with the
include command, space is not reserved for the output of the
inserted PostScript commands.
NOTE
PS is part of the PMDF-FAX product. It is not part of the
base PMDF distribution.
30.5 – Qualifiers
30.5.1 /BOTTOM_MARGIN
/BOTTOM_MARGIN=margin
This is the distance, in points, from the bottom of the sheet of
paper to the bottom of the last line of text which is to appear
on the page. The default is 72 points (1 inch).
30.5.2 /CALCULATE
When supplied with a value for /LINES, /CALC will calculate the
font size so that your output will fill the page less the top and
bottom margins. /CALCULATE will only make the font size large (or
small) enough to fit the number of lines you specified onto the
page. It will not check to see whether the horizontal length of
your lines will fit within the left and right margins.
This command must be used with the /LINES qualifier and cannot be
used with the /SIZE qualifier.
30.5.3 /CHARSET
/CHARSET=charset_name
The character set used in the input text. Many character
sets are supported; see the complete list in the file PMDF_
TABLE:CHARSETS.TXT. PMDF PS will construct an appropriate
encoding vector to render the character set as well as possible
in PostScript.
Note that the selection of fonts can affect whether or not all
characters can be correctly displayed. The Courier font works
quite well; other fonts can lack some accented characters.
30.5.4 /COLUMNS
/COLUMNS=columns_per_page
/COLUMNS allows you to select the number of columns that your
text will be printed in on a single sheet of paper. The default
is 1 column per page.
30.5.5 /END_PAGE
/END_PAGE=page_number
This is the page number of the last page that will be included
in the PostScript output file. The default is to print the entire
file.
30.5.6 /FONT
/FONT=font
By default, PS will set the document in the Courier font. With
this qualifier, an alternate font can be selected. The name of
the font to be used must be selected from the list shown in the
table below-the thirty-nine fonts listed in the table include
the standard "Adobe 35" plus four additional fonts representing
four faces of the Charter font family from Bitstream. Note that
not all of these fonts are available on all printers; consult the
printer documentation for information about what fonts a given
printer supports.
Table 3 Font Names Recognized by the PS Utility
AvantGarde-Book, AvantGarde-Demi, AvantGarde-Oblique, AvantGarde-
DemiOblique
Bookman-Light, Bookman-Demi, Bookman-LightItalic, Bookman-
DemiItalic
Charter-Roman, Charter-Bold, Charter-Italic, Charter-BoldItalic
Courier, Courier-Bold, Courier-Oblique, Courier-BoldOblique
Helvetica, Helvetica-Bold, Helvetica-Oblique, Helvetica-
BoldOblique
Helvetica-Narrow, Helvetica-Narrow-Bold, Helvetica-Narrow-
Oblique, Helvetica-Narrow-BoldOblique
NewCenturySchlbk-Roman, NewCenturySchlbk-Bold, NewCenturySchlbk-
Italic, NewCenturySchlbk-BoldItalic
Palatino-Roman, Palatino-Bold, Palatino-Italic, Palatino-
BoldItalic
Symbol
Times-Roman, Times-Bold, Times-Italic, Times-BoldItalic
ZapfChancery-MediumItalic
ZapfDingbats
30.5.7 /FORM
/FORM=form_type
Specifies a form type that the output device is currently using.
The possible values are given in the table below. A letter size
form (8.5 inches wide by 11 inches long) is the default. The size
of the output page can also be set using the /HEIGHT and /WIDTH
qualifiers.
Table 4 Form Names Recognized by the PS Utility
Form name Dimensions (vertical height x horizontal width)
LETTER 8.5 x 11 inches
LEGAL 8.5 x 14 inches
LEDGER 11 x 17 inches
GLETTER 8 x 10 inches
GLEGAL 8 x 13 inches
FOLIO 8.3 x 13 inches
A0 841 x 1189 millimeters
A1 594 x 841 millimeters
A2 420 x 594 millimeters
A3 297 x 420 millimeters
A4 210 x 297 millimeters
A5 148.5 x 210 millimeters
A6 105 x 148.5 millimeters
B0 1000 x 1414 millimeters
B1 707 x 1000 millimeters
B2 500 x 707 millimeters
B3 353 x 500 millimeters
B4 250 x 353 millimeters
B5 176 x 250 millimeters
B6 125 x 176 millimeters
A 8.5 x 11 inches
B 11 x 17 inches
C 17 x 22 inches
D 22 x 34 inches
E 34 x 44 inches
LP 13.7 x 11 inches
VT 8 x 5 inches
30.5.8 /HEIGHT
/HEIGHT=form_height
Specifies the height in inches of the form to use. The default
is 11 inches (792 points). The height is also set by the
/FORM qualifier. The /HEIGHT qualifier will override the /FORM
qualifier if both are specified.
30.5.9 /ITALIC
/ITALIC mode is used with Runoff files. /ITALIC will replace all
text that is flagged for underlining with italicized print. The
default is to underline text flagged for underlining.
30.5.10 /LANDSCAPE
This option produces output that is wider than it is tall. This
may or may not actually rotate the image; it depends on the size
of the form that is used. With letter size output (the default),
the output is rotated. Choose this option when you have very long
lines to print, but do not want to set the size of your font very
small or when using /COLUMNS=2.
30.5.11 /LEFT_MARGIN
/LEFT_MARGIN=margin
With this qualifier, you can specify, in points, the distance
from the left edge of the sheet of paper to the left margin of
your text. The default is 72 points (1 inch).
30.5.12 /LINES
/LINES=lines_per_page
This is the number of lines to appear on a page, starting at the
top margin. By default, PS merely attempts to place as many lines
on the page as possible; each line displaced vertically below the
previous line by amount font_size * spacing_factor; font_size has
the default value of 12 points (10 points for FAXes) and spacing_
factor has the default value of 1.
30.5.13 /MAIL
This qualifier instructs PS that no file is to be processed.
Instead, the qualifiers specified on the command line will
modify any text-to-PostScript conversions performed by the PMDF
message distribution system (e.g., messages processed by the
PMDF-FAX channels). This is achieved through the use of the
PMDF_X_PS_QUALIFIERS logical which PS will set. Currently, the
only application which makes use of this logical is the optional
layered product PMDF-FAX.
Any mail subsequently sent that gets converted into PostScript
will be converted in the manner specified. Any settings made
by a previous use of the /MAIL qualifier are lost. Settings
only last for the life of a given login session; they must be
re-established in subsequent sessions (this can be done in a
LOGIN.COM file if desired).
30.5.14 /NUMBER_PAGES
/NUMBER_PAGES
/NONUMBER_PAGES (default)
Pages will automatically be numbered when the /NUMBER_PAGES
qualifier is specified. By default, pages are not numbered.
30.5.15 /PORTRAIT
/PORTRAIT (default)
This option produces output that is taller than it is wide. This
may or may not actually rotate the image; it depends on the size
of the form that is used.
30.5.16 /SIZE
/SIZE=font_size
This is the size, in points, of the font to be used. The default
size is 12 points for converted documents; mail system text-to-
PostScript conversion defaults to 10 points. The minimum size
is 4 points; the maximum size is limited to the size of a normal
letter size sheet of paper.
Note that /SIZE is not restricted to integer values-a font size
of 10.5 is both acceptable and often times useful.
30.5.17 /SPACING
/SPACING=spacing_factor
This qualifier specifies the vertical line spacing. /SPACING=2
yields double-spaced output while /SPACING=3 results in triple-
spaced output. Spacing factor can be any positive number and is
not limited to integral values. The actual spacing in points
between lines is giving by the product font_size * spacing_
factor.
30.5.18 /START_PAGE
/START_PAGE=page_number
This is the page number of the first page that will be included
in the PostScript output file. The default is to print the entire
document.
30.5.19 /TOP_MARGIN
/TOP_MARGIN=margin
This is the distance, in points, from the top of the sheet of
paper to the first line of text. The default is 72 points (1
inch).
30.5.20 /UNDERLINE
/UNDERLINE (default)
/UNDERLINE mode is used with Runoff files. To generate PostScript
to underline the text in a Runoff .MEM file that is flagged for
underlining, use the /UNDERLINE qualifier.
30.5.21 /WIDTH
/WIDTH=form_width
Specifies the width, in inches, of the form to use. The default
is 8.5 inches. The width is also set by the /FORM qualifier. The
/WIDTH qualifier will override the /FORM qualifier if both are
specified.
30.6 – Examples
1.$ PMDF PS THESIS.TXT
In this example, the name of the output file is omitted.
Consequently, the output will be stored in a file named
thesis.ps.
2.$ PMDF PS/FONT=BOOKMAN-LIGHT THESIS.TXT
This command illustrates the use of the /FONT qualifier to
select an alternate font.
3.$ PMDF PS/COLUMNS=2/LANDSCAPE/SIZE=8 THESIS.TXT
This last command shows how to format the file THESIS.TXT
for printing in two columns. When more than one column is
requested, use of the /LANDSCAPE qualifier is recommended.
Furthermore, the font size should be reduced with the /SIZE
qualifier so as to keep lines of text from running into
adjacent columns or off of the page.
31 – PSWRAP
Convert a PostScript file to a file which can be mailed without
requiring encoding or other special handling.
31.1 – Restrictions
This utility cannot produce correct output for some PostScript
files.
Syntax
PMDF PSWRAP input-file-spec [output-file-spec]
Qualifiers Defaults
/RECORD_LENGTH=width /RECORD_LENGTH=76
31.2 – Prompts
Input file: input-file-spec
Output file: output-file-spec
31.3 – Parameters
input-file-spec
The name of the PostScript file to process. Only a single file
can be specified; wildcards cannot be used.
output-file-spec
An optional parameter specifying the name of the new PostScript
file to output. If no file name is specified, then the output
file will have the same name as the input file.
31.4 – Description
The PSWRAP utility can be used to convert a PostScript file to
a file with varying length records, carriage return carriage
control, and no record longer than the specified length.
WARNING
This utility cannot produce correct output for some
PostScript files. PostScript files contain complex programs
written in the PostScript language. The PSWRAP utility
understands the PostScript language syntax and can perform
syntactically correct line wrappings. However, some
PostScript files contain data which cannot be wrapped, for
instance, input to the PostScript "readstring" operator.
Short of actually interpreting the PostScript file, it is
not possible to determine whether or not it is safe to wrap
lines in the file. The PSWRAP utility ignores this issue
and as such could output non-functioning PostScript. Be sure
to test (e.g., print) the output of PSWRAP before mailing
it to someone else or deleting the input file. QuarkXPress,
for example, produces output which PSWRAP will not properly
wrap.
If a readstring operator is seen in the PostScript file, a
PMDF-W-READSTRSEEN warning message will be output.
31.5 – Qualifiers
31.5.1 /RECORD_LENGTH
/RECORD_LENGTH=length
Maximum record length to allow in the output file. If not
specified, a length of 76 bytes will be imposed.
31.6 – Examples
In the following example the file JACS_PAPER2.PS is processed
and the new file JACS.PS output. The resulting file is then
printed to assure validity and then mailed to another user.
$ PMDF PSWRAP JACS_PAPER2.PS JACS.PS
$ PRINT/QUEUE=PS_PRINTER/NOTIFY JACS.PS
Job JACS (queue PS_PRINTER, entry 741) started on PS_PRINTER
$
Job JACS (queue PS_PRINTER, entry 741) completed
$ MAIL/SUBJECT="Latest draft" JACS.PS "IN%""BOB@EXAMPLE.COM"""
32 – Password Change Utility
If your system administrators have chosen to enable it, PMDF
provides a web-based interface through which you can change the
password on your account. This applies to all accounts, whether
they are native message store (VMS MAIL mailbox) accounts,
or popstore accounts, or MessageStore accounts, or if your
username and password is located elsewhere for example in the
PMDF password database.
To use the web-based password change utility, you must have a web
client and TCP/IP access to the PMDF system. To connect to the
interface with your web browser, you normally open the URL:
HTTP://HOST:7633/CHNG_PWD
In place of host, use the actual IP host name of the system
running PMDF. Your system administrator may have chosen to
configure the web interface port to be a port other than 7633;
if so, then you need to specify that other port number in place
of 7633 in the above URL. Check with your system administrator if
you are not sure of the exact URL to use.
Once connected to the web page, you must fill in your username
and the string that you want to change your password to. Make
sure that you type the new password in twice, correctly, for
verification. When you click on the "Change Password" button,
your web browser will prompt you to enter your username and
existing password. Type these in to authenticate yourself. PMDF
will then modify your password as requested.
33 – Pine
Pine is a user-agent for reading, sending, and managing
electronic messages. It was originally developed at the
University of Washington with novice users in mind, but can be
tailored to accommodate the needs of more experienced users. The
UNIX, DOS, and Windows versions are maintained by the Computing &
Communications group at the University of Washington and can be
obtained from ftp.cac.washington.edu via anonymous FTP. A mailing
list for Pine is maintained as pine-info@cac.washington.edu;
however, bugs found in the PMDF version of Pine should be
reported to support@process.com.
Pine has a full-screen interface which uses one-character
mnemonic commands and control sequences for its command input.
You do not have to hit the RETURN or ENTER key to finish a
command. A command menu is always present at the bottom of the
screen, and help is only one keystroke away. It is intended that
Pine can be learned by exploration and the browsing of extensive,
context-sensitive on-line help provided within Pine, but some
basic concepts to get a new user started are discussed below.
33.1 – Getting Started
To start PINE, use the PMDF PINE command:
$ PMDF PINE
Command line qualifiers for pine are not supported. Pine is
exited using the QUIT command, Q.
If you want to get started using pine, DON'T READ ANY FARTHER!
Just start pine and try it. The help within pine should be more
useful in actually operating pine than the configuration and
OpenVMS-specific details covered in the topics here.
NOTE
System managers should see also under PMDF Pine System
Configuration.
33.1.1 – Terminal Characteristics
Pine uses the OpenVMS SMG$ run-time library to implement terminal
I/O. Pine will be unable to start if the terminal type is unknown
to SMG$. If pine dies unexpectedly, it is possible that the
terminal characteristics might need to be reset. Specifically
you might need to issue the command:
$ SET TERMINAL/NOPASTHRU/LINE_EDIT
so as to restore your terminal characteristics.
33.1.2 – Function Key Mode
Pine has a function key mode which is enabled by the USE-
FUNCTION-KEYS option in the pine resource file. When enabled,
the VT numeric keypad keys are mapped to the function keys F1
through F12 as follows:
o PF1-PF4 are mapped to F1-F4,
o KP5-KP9 are mapped to F5-F9,
o KP0 is mapped to F10,
o KP1 is mapped to F11, and
o KP2 is mapped to F12.
In addition, the top row function keys F6 to F12 are mapped to
their namesakes. The HELP key is mapped to F1.
The MINUS key on the numeric keypad, KP-, can be used in place
of the control, CTRL, key. However, it is used as a two key
sequence. For example, to enter CTRL/A, you would press the two
keys KP- followed by A.
One consequence of using pine in function key mode is that you
can only choose from twelve commands at any given time. That
is, whereas in alphabetic key mode you can press a key for a
command even though the command is not visible on the bottom of
the screen, in function key mode you must toggle to the screen
where the command is visible.
33.2 – General Concepts
Pine is an IMAP (Internet Message Access Protocol) client and
POP (Post Office Protocol) client which can access local VMS MAIL
mail files as well as other mail files served by an IMAP server
or POP3 server.
If only local mail is to be accessed, no network connection
is created, and no IMAP server or POP server is needed on the
local system. If your system does not have any TCP/IP software
installed, then you will receive an error message when you
attempt any operation requiring TCP/IP access. To access mail
files on a remote OpenVMS system, an IMAP server such as the PMDF
IMAP server, or a POP server such as the PMDF POP server, must be
running on that remote system. To access mail files on a remote
UNIX system, the remote system must have an IMAP daemon (server)
or POP daemon (server) running.
Pine is also an NNTP (Network News Transport Protocol, RFC 977)
client, and can be used to read news from NNTP servers like the
ANU News program or many common UNIX NNTP servers. Of course, you
have to know the name of one such system before you can use this
capability. Ask your system or network manager for help.
The pine view is that messages are stored in folders, and
folders are stored in folder collections. Folder collections
can be physically located on the local system, or on any remote
system with an IMAP server. Regardless of what system a folder
collection is physically located on, a pine user sees it as
just another folder collection: a pine user can read messages
in any of their folder collections and can save (move) messages
between different folder collections. See under PMDF Pine Folders
and Folder Collections for more details on folders and folder
collections.
Or a read-and-delete-only pine folder can correspond to the "new
messages" folder on a remote system with a POP3 server. (The
POP3 protocol does not provide access to multiple folders-it only
provides access to the "new" messages, usually those in a special
"new" sort of folder. The POP3 protocol also does not allow for
moving messages into a POP3 folder.)
33.3 – Configuration Files
The PINE RESOURCE file is the most important file used by Pine.
This file contains the configuration options settable by a
user. See under PMDF Pine Configuration_files Resource File for
details.
Users can have address books in pine, with nicknames for long
addresses or mailing lists. See under PMDF Pine Configuration_
files Addressbook for details.
When using pine to read news group messages, a file is required
listing the names of news groups you read; by default, pine uses
the file PMDF_INIT:NEWSRC. See under PMDF Pine Configuration_
files News Groups File for details.
When reading MIME messages, pine uses a MAILCAP file to
determine how to display the message parts. See under PMDF Pine
Configuration_files Mailcap Files below for details.
When sending attachments, pine consults a file to determine what
MIME labelling to use on the attachment parts. By default, the
file consulted is PMDF_INIT:MIME.TYPES, or as specified by the
MIMETYPE-SEARCH-PATH option setting in the pine resource file.
Pine also has other optional configuration files to control
filtering incoming or outgoing message text, etc.
NOTE
System managers should also see under PMDF Pine System_
configuration Configuration Files for information on
tailoring the the pine environment on the system via
additional system-level pine configuration files.
33.3.1 – Resource File
Pine uses a resource file to keep track of its configuration,
user preferences, and other information. By customizing the
option settings in your PINE RESOURCE file, you can customize
your pine environment to your liking. Generally the best way to
set or change option settings in your PINE RESOURCE file is from
within pine, via the CONFIG option of the SETUP submenu accessed
from pine's main menu. (Context sensitive help is available
within pine for each such configurable item so you can get hints
on setting your options.) However, the PINE RESOURCE file is
a normal text file, so it is also possible to modify the PINE
RESOURCE file using a text editor.
33.3.1.1 – Location
On OpenVMS systems, the Pine resource file is named PINE.PINERC
and is located in the PMDF_INIT: directory. By default, PMDF_
INIT is a logical which translates to SYS$LOGIN. Users wanting
to keep their pine resource file elsewhere can redefine the PMDF_
INIT logical. The logical name PINERC can be used to specify an
alternate file name. For instance, the definition
$ DEFINE PINERC PINE.RC
causes the file name PINE.RC to instead be used, thereby
accessing the file
PMDF_INIT:PINE.RC
The definition of the PINERC logical must not contain a device or
directory reference.
33.3.1.2 – Format
In the Pine resource file, any line starting with # is considered
to be a comment line. Lines not beginning with # contain settings
for configuration options using the format
option=value[,value,...]
All values are strings; quotes can be used around any value.
If a value is absent, then the associated option is not set
and a system-wide default setting, if there is one, will be
used instead. For some options, only the values YES and NO are
allowed.
A line beginning with a space or tab is considered to be a
continuation of the previous line.
33.3.1.3 – Dollar Sign
The dollar sign, $, has a special meaning in the Pine resource
file: it means that the word following it is an "environment
variable", i.e., a DCL symbol or logical name, the value of which
is then substituted at that point in the file. To specify $ in a
value, you need to prefix it with a backslash; e.g.,
SYS\$LOGIN:SIGNATURE.TXT
33.3.2 – Addressbook
You can have one or more addressbooks in Pine. In addition to a
personal addressbook, one or more global, read-only addressbooks
can be set up (for sharing between multiple users). The names
of your personal addressbooks are specified in the Pine resource
file by the ADDRESS-BOOK option. Normally, this option is set
and modified from within Pine by using the SETUP menu and then
selecting the Addressbook menu; it can, however, also be set by
manually editing the Pine resource file. The built-in default
file name used for an addressbook PMDF_INIT:PINE.ADDRESSBOOK.
A "lookup" file is used to speed access to the addressbook. The
lookup file has the same name as the addressbook, with -LU as
suffix; e.g., PMDF_INIT:PINE.ADDRESSBOOK-LU. The lookup file
is generated automatically by Pine. Global addressbooks can be
specified using the GLOBAL-ADDRESS-BOOK option.
33.3.2.1 – Addressbooks and PMDF Personal Alias Database
A limited interface between Pine's address books and PMDF's
personal alias database has existed since Pine 3.91. When you
add an address to one of Pine's address books using Pine's
ADDRESS BOOK menu, it will also be added to your personal alias
database, overwriting any existing entry of the same name. The
Pine "nickname" is the alias name used in PMDF's personal alias
database and the e-mail address is the corresponding value for
the alias. Adding or deleting Pine's address lists has no effect
on PMDF's personal alias database.
When you delete an address in one of Pine's address books, it is
also deleted from PMDF's personal alias database if present.
The J command can be used to dump the entire current addressbook
into your PMDF personal alias database. If no personal alias
database exists, it will be created.
33.3.3 – News Groups File
If you use the news reading capability in Pine to talk to a NNTP
server, then you need to have a NEWSRC. file in the PMDF_INIT:
directory, or a newsrc file with a non-default name as selected
by your NEWSRC-PATH Setup Config option. This file contains the
names of news groups you read. Pine updates it when you delete
a message in the news group. Deleting a message in news does not
really delete it, but simply makes the message unavailable to
you when you next read the associated news group. The format of
this file is one line per news group, with the lines having the
format:
newsgroupname:[message,...]
where MESSAGE is either a number or a range of numbers (e.g.,
1-3).
33.3.4 – Mailcap Files
When reading MIME messages, Pine uses a mailcap file to determine
how to display message parts. Mailcap files are described in RFC
1524, a copy of which can be found as PMDF_ROOT:[DOC.RFC]RFC1524.
Or see the PMDF User's Guide which gives a brief overview of
mailcap files.
The default mailcap filename is MAILCAP. in the PMDF_INIT
directory, unless the logical name PMDF_MAILCAP_DIR is defined,
in which case the list of directories defined by PMDF_MAILCAP_DIR
is searched for the file MAILCAP., in the order listed. The first
entry found in the list of files will be used. For instance, with
the following PMDF_MAILCAP_DIR definition, PMDF will use a user's
own mailcap file, if they have one, and if the user does not have
a personal mailcap file, PMDF will use a mailcap file in the PMDF
table directory:
$ DEFINE/SYSTEM PMDF_MAILCAP_DIR PMDF_INIT:,PMDF_TABLE:
Note that a trailing colon is necessary if logical names are used
because the filename MAILCAP. is appended to whatever value you
have specified.
33.4 – Folders and Folder Collections
The Pine view is that messages are stored in folders, and
folders are stored in folder collections. Folder collections
can be physically located on the local system, or on any remote
system with an IMAP server. Regardless of what system a folder
collection is physically located on, a Pine user sees it as just
another folder collection: a Pine user can read messages in any
of their folder collections and can save (move) messages between
different folder collections.
33.4.1 – Folders
Each mail message is stored in a folder. A Pine folder is
equivalent to a VMS MAIL folder in a VMS MAIL mail file.
While both Pine and VMS MAIL folder names are case sensitive,
Pine users must be much more mindful of this fact. (VMS MAIL
automatically converts folder names to upper case unless you
surround the folder name with quotes.)
For VMS MAIL files, a new folder is automatically created the
first time a message is saved to it; a folder is automatically
deleted when all messages in the folder are deleted. So when you
use the Create folder command in Pine to create a new folder, the
folder will be created with a placeholder message in it.
33.4.2 – Collections
A folder collection is a folder specification for a collection
of folders on one system. For example, it can be all of your
VMS MAIL folders which have the name prefix INFO-, or it can be
all of your UNIX mail folders on a system called foo.bar.com, or
it can be all of your VMS MAIL folders in a different mail file
than you normally use. You can access multiple different folder
collections from within Pine.
By default, PMDF Pine knows only about the local folder
collection, corresponding to your VMS MAIL mailbox. The use
of additional folder collections is controlled by the FOLDER-
COLLECTIONS option in your Pine resource file. Normally, this
option is set from within Pine by using the SETUP menu and then
selecting the L (collectionList) menu. However, the option can
also be set by manually editing your Pine resource file.
33.4.2.1 – Syntax
The setting of the FOLDER-COLLECTIONS option can be a list of
values, where each value specifies a folder or folders on the
local system or accessible via an IMAP server, or specifies the
new mail folder accessible via a POP3 server. Folders on the
local system or accessible via an IMAP server are specified using
the format:
optional-label {imaphost}optional-file[view]
or
optional-label {imaphost:port/user=username}optional-file[view]
OPTIONAL-LABEL is a label which will be displayed by Pine in
place of the full name of the folder collection.
The optional field IMAPHOST is the name of a host where the
mail file resides. IMAPHOST can be any system which has an IMAP4
server, and need not necessarily be an OpenVMS system.
The optional PORT specification can be included if you want to
connect to a port other than the default (for IMAP) of 143.
The optional USERNAME can be included if you want to log in to
the IMAPHOST under a different account name.
The optional field OPTIONAL-FILE is the file specification
of a mail file. If OPTIONAL-FILE is omitted but IMAP-HOST is
specified, then the default mail file on the remote IMAPHOST
system will be used. If neither OPTIONAL-FILE nor IMAP-HOST is
specified, then your local default mail file will be used.
When OPTIONAL-FILE is specified for an OpenVMS host locally or
remotely running PMDF's legacy IMAP server, it must have the
format
#disk:<directory>mailfile.mai#
where DISK, DIRECTORY, and MAILFILE.MAI specify the full path,
disk, directory, and file name, to the mail file. For instance,
to select the mail file MEMOS.MAI of DISK$USER1:[BOB], you would
specify
#DISK\$USER1:<BOB>MEMOS.MAI#
Finally, the VIEW field controls which folders from the mail file
are part of the collection. If specified as being empty, [],
then all folders from the mail file are treated as part of the
collection. Wild cards can be used to select folders matching a
pattern. For example, [INFO-*] would select all folders beginning
with the string INFO- from the mail file. Again, note that folder
names are considered to be case sensitive.
For POP3 access to a new mail folder on a remote system, the
format is:
"foldername" {pop3host/POP3}INBOX
or
"foldername" {pop3host/POP3/USER=username}INBOX
where FOLDERNAME is the name by which Pine will refer to the
folder, POP3HOST is the name of the system running the POP3
server, and USERNAME is the name under which to log in to the
remote POP3 server.
33.4.2.1.1 – Example
An example of setting the FOLDER-COLLECTIONS option in your
Pine resource file, PINE.PINERC, to a list of several folder
collections is:
folder-collections=local [],
archive #DRA0:<JONES.ARCHIVE>OLDMAIL.MAI#[],
remoteVMS {vax.example.com}#DUA2:<JONES.MAIL>MAIL.MAI#[INFO*]
remoteUNIX {sun.example.com}mail/[]
In the above example, four collections with the names local,
archive, remoteVMS, and remoteUNIX are created. local consists
of all folders in the local default mail file; archive consists
of all folders in the mail file DRA0:[JONES.ARCHIVE]OLDMAIL.MAI;
remoteVMS consists of all folders whose name begin with INFO
in the mail file DUA2:[JONES.MAIL]MAIL.MAI on the remote host
vax.example.com; and remoteUNIX consists of all folders from the
mail directory MAIL/ on the remote system sun.example.com.
33.4.2.2 – Saving Messages
When saving a message to a different folder collection, you can
select PREV COLLECTION or NEXT COLLECTION to get to the folder
collection you want to save to. Here, "Prev" is an abbreviation
for "Previous". By default, the first folder collection is the
one to save to.
For local or remote OpenVMS servers, you can also specify the
file name where the folder resides directly as
#disk:[directory]mailfilename#foldername
when prompted with the folder name. If you are saving to the same
file in the folder collection, then only the folder name itself
is needed.
33.5 – OpenVMS Notes
In the following subsections, some issues specific to Pine on
OpenVMS are discussed.
33.5.1 – Expunging
When accessing mail locally, the Pine Expunge command moves all
messages marked for deletion to the VMS MAIL WASTEBASKET folder.
In addition, it performs the equivalent VMS MAIL PURGE command
only when your VMS MAIL profile allows for AUTO_PURGE. If you
have set NOAUTO_PURGE, then the deleted messages are left in the
WASTEBASKET folder. However, should you expunge the WASTEBASKET
folder, then the VMS MAIL PURGE function will be performed.
Purged message space is not available for reuse until a reclaim
operation is performed. When the amount of deleted message space
in the mail file exceeds 32,767 bytes, a reclaim operation is
automatically done by the Expunge command.
NOTE
Pine never compresses your mail file.
33.5.2 – New Mail Updates
By default, Pine automatically checks for new mail every 2.5
minutes (150 seconds). This interval is settable per user as
the MAIL-CHECK-INTERVAL configuration option (unless the system
manager choose to fix its value in the PINE.CONF-FIXED file). You
can also force a refresh of the folder by pressing the DOWN arrow
key four times at the last message of the Index screen or by
pressing CTRL/L. A folder is also refreshed whenever you expunge
it. When you force a check, and you have no new mail, Pine will
report the last message as new mail even though it is not new.
33.5.3 – VMS MAIL Profile
When accessing mail locally, Pine uses the same VMS MAIL mail
file as VMS MAIL and PMDF MAIL, so you can use any of these
programs interchangeably and access the same messages stored
in a VMS MAIL mail file.
Pine uses your VMS MAIL profile settings as follows:
AUTO_PURGE
When AUTO_PURGE is set, expunged messages will be purged from
your mail file, i.e., purged from your WASTEBASKET folder.
COPY_SELF
Your VMS MAIL COPY_SELF settings are honored by Pine when sending
or replying to messages.
MAIL_DIRECTORY
The MAIL_DIRECTORY profile setting is used when you do not
specify a filename with your folder specification.
NOTE
Pine should not be used on an account whose login device
is a search list and has MAIL_DIRECTORY defined as a
subdirectory.
PERSONAL_NAME
Your VMS MAIL PERSONAL_NAME setting will be used if none is set
in Pine's configuration file.
WASTEBASKET_NAME
As with VMS MAIL, the WASTEBASKET_NAME setting is used for your
wastebasket folder name.
33.6 – System Configuration
PMDF Pine uses PMDF extensively. PMDF must be installed and
configured on the system for Pine to function. Pine uses PMDF
to send mail, to parse addresses, and to save copies of messages
you have sent, if the Pine DEFAULT-FCC option is set. Once PMDF
is configured and installed on a system, PMDF Pine is usually
ready for use, although see under PMDF Pine System_configuration
UCX Emulation and PMDF Pine System_configuration Subprocess Quota
for descriptions of two installation issues to check, and see
under PMDF Pine System_configuration Configuration Files for a
description of tailoring the Pine environment on a system wide
basis.
In particular, note that Pine does not, by default, use IMAP
to talk to your local system, so it is not necessary to have
an IMAP server running on your system just to use Pine. (Only
if a user were to specifically request that Pine treat the
local system as if it were instead a remote system with an IMAP
server, by specifying the IMAP-HOST field when accessing a folder
collection, would PMDF Pine attempt to make an IMAP connection to
the local system.)
Pine is installed by PMDF with the privileges SYSPRV and CMKRNL.
Without those privileges, users can not send mail, although they
can still read mail.
33.6.1 – UCX Emulation
UCX$IPC_SHR is an executive-mode logical name pointing to a
shareable image supplied by your TCP/IP vendor. If this logical
is not defined, then either TCP/IP is not installed, or, in the
case of a package other than DEC's TCP/IP Services for OpenVMS
(a.k.a. UCX), UCX emulation was not installed when the package
was installed. In order to use the TCP/IP functionality of
PMDF Pine, this logical must be defined and be pointing to the
appropriate image for your TCP/IP package. Moreover, the image
must be installed as a known image,
$ INSTALL UCX$IPC_SHR /OPEN/SHARED
If you are running Pine on a system without any TCP/IP software,
a dummy shareable image PMDF_EXE:UCX_DUMMY.EXE is provided with
PMDF. Your system manager should define a system-wide, executive-
mode logical named UCX$IPC_SHR which points to it and then
install it:
$ DEFINE/SYSTEM/EXEC UCX$IPC_SHR PMDF_EXE:UCX_DUMMY.EXE
$ INSTALL UCX$IPC_SHR /OPEN/SHARED
NOTE
If you install any TCP/IP package later, remember to
deassign the logical name or you won't have a functional
TCP/IP.
The definition of the logical and installation of the image
should be made part of the system startup procedure. Note that
the installation of the image can be effected through the site-
supplied PMDF_COM:SITEIMAGE.DAT file which uses the same format
as the Process-supplied PMDF_COM:PMDFIMAGE.DAT file.
33.6.2 – Subprocess Quota
Pine uses subprocesses to perform several of its tasks. As such,
users without subprocess quota cannot do any of the following:
o use a customized printing command,
o view image or video attachments,
o use the spell checker, or
o use an alternate editor.
A side effect of using subprocesses in Pine when you have a
remote IMAP connection is that the connection might timeout while
waiting for a subprocess to complete. This is especially likely
when using an alternate editor to compose a message.
33.6.3 – Configuration Files
A system manager can tailor Pine's environment on a per system
basis by the use of files described below. These files should all
be world readable.
PMDF_TABLE:PINE.CONF
This file is shipped with PMDF and contains a default system-wide
configuration for Pine. A new version is shipped with every PMDF
release, so you should keep a copy of your customizations. This
default configuration provides for one folder collection with the
default mail file on the local system.
PMDF_TABLE:PINE.CONF-FIXED
You can create this Pine resource file and place in it options
which you do not want users to be able to change or override.
This file, as supplied with PMDF, initially contains the same
information as hardcoded in the program for the BUGS-ADDRESS and
BUGS-FULLNAME options with the local Postmaster being the one to
receive the bug reports. You can change it to a different address
if necessary, but we suggest you direct it to a local support
address.
PMDF_TABLE:PINE.INFO
When this file exists, the information contained in it is
presented to the user as LOCAL SUPPORT CONTACTS from the main
menu's help screen.
PMDF_TABLE:MIME.TYPES
This file provides a basic set of file extension to MIME type
mappings. Users can supplement or override these defaults with
their own choices in their own file, via the MIMETYPE-SEARCH-PATH
option in their Pine resource file.
33.6.3.1 – Precedence of Settings
There are potentially four sources of configuration settings
which are shown below in decreasing order of precedence:
1. Unchangeable, system-wide settings from the PMDF_
TABLE:PINE.CONF-FIXED file.
2. Per-user settings from the user's PMDF_INIT:PINE.PINERC file.
3. System-wide settings from the PMDF_TABLE:PINE.CONF file.
4. Default Pine values.
One exception to the above precedence scheme is the FEATURE-LIST
option which is cumulative. In order to turn off a feature, you
have to negate it by prepending NO- in front of an individual
feature.
34 – QCLEAN
Hold or delete message files from the PMDF queue area that
contain specified substrings in their envelope From: address,
Subject: header, or message content.
Syntax
PMDF QCLEAN [channel]
Command Qualifiers Defaults
/CONTENT=substring None
/DATABASE /DATABASE
/DELETE /HOLD
/DIRECTORY_TREE /DATABASE
/ENV_FROM=substring None
/HOLD /HOLD
/MATCH=keyword /MATCH=AND
/MIN_LENGTH=n /MIN_LENGTH=24
/SUBJECT=substring None
/THREADS=n /NOTHREADS
/VERBOSE /NOVERBOSE
34.1 – Restrictions
Privileges sufficient to read and delete files in the PMDF
channel queue directory tree, as well as read and update the
PMDF queue cache database, are required.
34.2 – Parameters
channel
Optional parameter which specifies a specific PMDF channel area
to be searched for matching messages. * or ? wildcard characters
may be used in the channel specification.
34.3 – Description
Hold or delete message files containing specific substrings
in their envelope From: address, Subject: line, or content.
By default, message files are held (/HOLD). Specify /DELETE to
instead delete matching message files. The /CONTENT, /ENV_FROM,
and /SUBJECT qualifiers are used to specify the substrings for
which to search.
Any combination of /CONTENT, /ENV_FROM, and /SUBJECT may be
specified. However, only one of each may be used. The /MATCH
qualifier controls whether a message file must contain all
(/MATCH=AND, the default) or only one of (/MATCH=OR) the
specified substrings in order to be held or deleted. The default
is /MATCH=AND.
By default, each substring to be searched for must be at least
24 bytes long (/MIN_LENGTH=24). This is a safety measure: the
longer the substring, the less likely the chance of false "hits".
Use the /MIN_LENGTH qualifier to override this limit. Also
by default, only message files identified by the queue cache
database are searched (/DATABASE). Use the /DIRECTORY_TREE
qualifier to instead search all message files actually present
in the channel queue directory tree.
The optional channel parameter restricts the search to message
files in the specified channel. The channel parameter may use *
and ? wild cards.
The /THREADS qualifier may be used to accelerate searching on
multiprocessor systems by dividing the work amongst multiple,
simultaneously running threads. To run n simultaneous searchingg
threads, specify /THREADS=n. The value n must be in the range
1-8. The default is /NOTHREADS.
34.4 – Command Qualifiers
34.4.1 /CONTENT
/CONTENT=substring
/ENV_FROM=substring
/SUBJECT=substring
The /CONTENT, /ENV_FROM, and /SUBJECT qualifiers are used to
specify the substrings for which to search. Any combination of
/CONTENT, /ENV_FROM, and /SUBJECT may be specified. However, only
one of each may be used. When a combination of such qualifiers
is used, the /MATCH qualifier controls whether the qualifiers
are interpreted as further restrictions (/MATCH=AND), or as
alternatives (/MATCH=OR).
34.4.2 /DATABASE
/DATABASE (default)
/DIRECTORY_TREE
The /DATABASE qualifier, the default, specifies that only message
files identified by the queue cache database be searched. Use
the /DIRECTORY_TREE qualifier to instead search all message files
actually present in the channel queue directory tree.
34.4.3 /DELETE
/DELETE
/HOLD (default)
/HOLD is the default and means that matching message files will
be held. Specify /DELETE to instead delete matching message
files.
34.4.4 /MATCH
/MATCH=keyword
The default is /MATCH=AND, meaning that any criteria specified
by /CONTENT, /ENV_FROM, and /SUBJECT qualifiers must all match
in order for the current hold or delete operation to be applied.
Specifying /MATCH=OR means that a message will match as long as
at least one such criterion matches.
34.4.5 /MIN_LENGTH
/MIN_LENGTH=n
By default, each substring to be searched for must be at least 24
bytes long (/MIN_LENGTH=24). This is a safety measure: the longer
the substring, the less likely the chance of false "hits". Use
the /MIN_LENGTH qualifier to override this limit.
34.4.6 /THREADS
/THREADS=n
/NOTHREADS (default)
The /THREADS qualifier may be used to accelerate searching on
multiprocessor systems by dividing the work amongst multiple,
simultaneously running threads. To run n simultaneous searching
threads, specify /THREADS=n. The value n must be an integer in
the range 1-8. The default is /NOTHREADS.
34.4.7 /VERBOSE
/VERBOSE
/NOVERBOSE (default)
The /VERBOSE qualifier may be used to request that the utility
print out information about what it is doing as it operates.
34.5 – Examples
The following example shows holding all message files in the
PMDF queue area that have the string "real estate" in the
Subject: header and have the string "ownership.com" in the
envelope From: address.
$ PMDF QCLEAN/MIN_LENGTH=11/SUBJECT="real estate"
34.5.1 /ENV_FROM="ownership.com"
%QM-I-QCLISTING, building a list of message files to scan from the queue cache %QM-I-SCANNING, scanning 72 message files %QM-I-SCANNED, scanned 72 message files in 3.7500 seconds (19.20 messages/second) %QM-I-HELD, held 5 message files
35 – QM
PMDF QM is a utility program which allows inspection and
manipulation of queued messages. PMDF QM has two modes:
maintenance mode and user mode. Maintenance mode can be used
to inspect and manipulate the channel queue directories and
the messages contained in them. Privileges sufficient to read,
create, and delete files in the channel queue directory tree as
well as read and update the queue cache database are required to
use maintenance mode. User mode is a very restricted version of
maintenance mode which allows unprivileged users to read their
own messages from the queues and to return them (bounce them)
back to their originator if desired. Users' own messages are
messages which they themselves have sent or were posted to a list
they own. They are not messages destined for the user. Users can
read or return any of their own queued messages, and, in the case
of outgoing PMDF-FAX messages, change FAX telephone numbers.
Note that this utility merely reports on messages in PMDF's
delivery queues. That a message you have sent no longer appears
in PMDF's queues, does not imply that it has reached its final
destination. All that it means is that the message has left the
PMDF system and is no longer under PMDF's control. For example,
it is not uncommon for a message to make an intermediate stop
on another system such as a mail hub. In such cases, PMDF will
consider the message to be "delivered" when it hands the message
and responsibility for it off to the intermediate system.
To run PMDF QM in user mode, issue the command
$ PMDF QM
To run PMDF QM in maintenance mode, issue the command
$ PMDF QM/MAINTENANCE
Use the EXIT or QUIT command to exit PMDF QM.
The commands accepted by this utility are described under the
User_mode_commands and Maintenance_mode_commands subtopics.
35.1 – User Mode Commands
35.1.1 – DATE
Show the current date and time.
Syntax
DATE
Command Qualifiers Defaults
None. None.
35.1.1.1 – Parameters
None.
35.1.1.2 – Description
The DATE command can be used to show the current date and time,
in RFC 822/1123 format - the same format as used in Internet-
style messages.
35.1.1.3 – Examples
In the following example, the current date and time in RFC
822/1123 format is displayed with the DATE command.
qm.user> DATE
Fri, 2 Aug 2012 13:34:16 PDT
qm.user>
35.1.2 – DIRECTORY
List currently queued messages.
Syntax
DIRECTORY [type]
Command Qualifiers Defaults
None. None.
35.1.2.1 – Parameters
type
An optional parameter specifying the type of messages to display
(e.g., FAX, INTERNET, CC:MAIL, etc.). Wild cards are permitted.
35.1.2.2 – Description
Use the DIRECTORY command to list any messages which you've sent
but which have not yet been delivered. The optional type argument
can be used to restrict the listing to certain types of messages
such as messages sent to the Internet or other TCP/IP connected
machines such as UNIX workstations, cc:Mail users, FAX machines,
etc. A complete list of the available types are shown below. You
can also use the ? key to obtain a listing of the available types
as shown in the examples below.
Type Message Types Listed
all_in_1 Messages sent to ALL-IN-1 users
bitnet Messages set to BITNET users
ccmail Messages sent to Lotus cc:Mail users
decnet Messages sent to DECnet users
fax Messages sent as FAXes via PMDF-FAX
groupwise Messages to GroupWise Office users
internet Messages sent to Internet users
local Messages sent to local VMS MAIL users
lotus_notes Messages sent to Lotus Notes users
mailbus_400 Messages sent to MAILbus 400 users
mailworks Messages sent to MailWorks users
message_ Messages sent to Message Router users
router
microsoft_ Messages sent to Microsoft Mail users
mail
netdata Messages sent to Netdata (PROFS) users
novell_mhs Messages sent to Novell MHS users
ovvm Messages sent to OV/VM (PROFS) users
pager Messages sent to personal pagers
popstore Messages sent to popstore users
snads Messages sent to SNADS users
tcpip Messages sent to TCP/IP users
teamlinks Messages sent to TeamLinks users
uucp Messages sent to UUCP users
wordperfect Messages sent to WordPerfect Office users
x400 Messages sent to X.400 users
In the directory listing, each message is assigned a message
identification number, or "message id" for short. The message id
appears in the leftmost column. These identification numbers can
be used with the READ, RETURN, and EDIT_FAX commands to identify
which messages to read, return, or edit.
It is important to note that when you send a message to more
than one recipient, the message might split into multiple message
copies. Consequently, the same message might appear multiple
times as being queued to different networks (or possibly even for
the same network). Such would be the case for a message sent both
to local users and remote users.
35.1.2.3 – Examples
1.qm.user> DIRECTORY ?
Optional keyword, must be chosen from:
(1) all_in_1 Messages sent to ALL-IN-1 users
(2) bitnet Messages sent to BITNET users
(3) ccmail Messages sent to cc:Mail users
(4) decnet Messages sent to DECnet users
(5) fax Messages sent as FAXes with PMDF-FAX
(6) groupwise Messages sent to GroupWise Office users
(7) internet Messages sent to Internet users
(8) local Messages sent to local users
(9) lotus_notes Messages sent to Lotus Notes users
(10) mailbus_400 Messages sent to MAILbus 400 users
(11) mailworks Messages sent to MailWorks users
(12) message_router Messages sent to Message Router users
(13) microsoft_mail Messages sent to Microsoft Mail users
(14) netdata Messages sent to Netdata (PROFS) users
(15) novell_mhs Messages sent to Novell MHS users
(16) ovvm Messages sent to OV/VM (PROFS) users
(17) pager Messages sent to personal pagers
(18) popstore Messages sent to popstore users
(19) snads Messages sent to SNADS users
(20) tcpip Messages sent to TCP/IP users
(21) teamlinks Messages sent to TeamLinks users
(22) uucp Messages sent to UUCP users
(23) wordperfect Messages sent to WordPerfect Office users
(24) x400 Messages sent to X.400 users
qm.user>
This example shows how to obtain a list of the recognized
message types. Whenever you are entering a command, you can
always press the question mark key, ?, to obtain help on what
to type next.
2.qm.user> DIRECTORY
Fri, 2 Aug 2012 18:49:40 PDT
Id Network From To Size Queued since
------------------------------------------------------------------------
1 Internet (TCP/IP) bob@example.com service@example.com 8 2-AUG 17:31
service@internode.co
2 Internet (TCP/IP) bob@example.com ietf-822@dimacs.rut 8 2-AUG 15:07
3 Internet (TCP/IP) bob@example.com mwalnut@cnri.reston 16 2-AUG 15:26
4 Internet (TCP/IP) bob@example.com jbakin@adoc.xerox.c 8 2-AUG 17:18
5 Internet (TCP/IP) bob@example.com klensin@MAIL1.RESTO 16 2-AUG 15:26
6 Internet (TCP/IP) bob@example.com MAILSERV@EXAMPLE.C 8 2-AIG 15:38
7 Internet (TCP/IP) bob@example.com john@EXAMPLE.COM 8 2-AUG 17:18
8 Message Router bob@example.com john%doof@am.naples. 8 2-AUG 12:25
9 Local delivery bob@example.com john 8 2-AUG 16:11
10 Internet (TCP/IP) bob@example.com mailserv@example.org 8 2-AUG 12:43
11 Internet (TCP/IP) bob@example.com MARKJOSEPH@delphi.com 8 2-AUG 15:07
--------------------------------------------------------------------------
Total size: 104
qm.user>
In this example, the DIRECTORY command is used to list all
queued messages. When a message has more than one envelope TO:
recipient, the additional recipients are shown on additional
lines of the listing as with message 1 which is addressed to
service@example.com and service@internode.com.au.
35.1.3 – EDIT_FAX
Edit a queued PMDF-FAX message.
Syntax
EDIT_FAX [message-id[,...]]
Qualifiers Defaults
/ALL /NOALL
/CONFIRM /NOCONFIRM
/LOG /LOG
35.1.3.1 – Parameters
message-id
A comma separated list of one or more message identification
numbers shown with a previous DIRECTORY command. Ranges are
allowed.
35.1.3.2 – Description
The addresses of queued FAX messages can be edited so as, for
instance, to correct a FAX telephone number. The messages to
be edited are specified by their message identification numbers
shown by the most recent DIRECTORY command. Those numbers appear
in the leftmost column of the DIRECTORY command listing.
35.1.3.3 – Qualifiers
35.1.3.3.1 /ALL
/ALL
/NOALL (default)
Edit all messages shown by the last DIRECTORY command.
Unless /NOCONFIRM is specified with /ALL, you will be required to
confirm any EDIT_FAX/ALL operation.
35.1.3.3.2 /CONFIRM
/CONFIRM
/NOCONFIRM (default)
When /CONFIRM is specified, you will prompted to confirm each
message edit operation.
35.1.3.3.3 /LOG
/LOG (default)
/NOLOG
Specifies whether informational messages for each message edit
operation are generated.
35.1.4 – EXIT
Exit the PMDF QM utility.
Syntax
EXIT
Command Qualifiers Defaults
None. None.
35.1.4.1 – Parameters
None.
35.1.4.2 – Description
The EXIT and QUIT commands exit the PMDF QM utility.
35.1.5 – HELP
Obtain help on the use of PMDF QM.
Syntax
HELP [topic]
Command Qualifiers Defaults
None. None.
35.1.5.1 – Parameters
topic
Optional topic to obtain help on.
35.1.5.2 – Description
The HELP command can be used to obtain information on PMDF QM
commands. To obtain information on all of the PMDF QM commands,
use the command
qm.user> HELP
To obtain information on individual commands or topics use the
command
qm.user> HELP topic
where TOPIC is the name of the command or topic of interest.
35.1.6 – HISTORY
Display message history information.
Syntax
HISTORY [message-id[,...]]
Command Qualifiers Defaults
/ALL /NOALL
/CONFIRM /NOCONFIRM
35.1.6.1 – Parameters
message-id
A comma separated list of one or more message identification
numbers shown with a previous DIRECTORY command. Ranges are
allowed.
35.1.6.2 – Description
For many channels, delivery history information is appended
to the end of each message file after an unsuccessful delivery
attempt has been made. With the HISTORY command, this information
can be displayed.
The messages to show histories for are specified by their message
identification numbers shown by the most recent DIRECTORY
command. That number appears in the leftmost column of the
DIRECTORY command listing.
Note that history information is not recorded by some channels.
35.1.6.3 – Qualifiers
35.1.6.3.1 /ALL
/ALL
/NOALL (default)
Display history information for all messages shown with the last
DIRECTORY command.
35.1.6.3.2 /CONFIRM
/CONFIRM
/NOCONFIRM (default)
When /CONFIRM is specified, you will be prompted to confirm
whether or not to display the history for each selected message.
35.1.7 – QUIT
Exit the PMDF QM utility.
Syntax
QUIT
Command Qualifiers Defaults
None. None.
35.1.7.1 – Parameters
None.
35.1.7.2 – Description
The EXIT and QUIT commands exit the PMDF QM utility.
35.1.8 – READ
Read a message.
Syntax
READ [message-id[,...]]
Qualifiers Defaults
/ALL /NOALL
/CONFIRM /NOCONFIRM
/CONTENT /CONTENT
35.1.8.1 – Parameters
message-id
A comma separated list of one or more message identification
numbers shown with a previous DIRECTORY command. Ranges are
allowed.
35.1.8.2 – Description
The READ command can be used to read one or more queued
messages. The messages to display are specified by their message
identification numbers shown by the most recent DIRECTORY
command. Those numbers appear in the leftmost column of the
DIRECTORY command listing.
35.1.8.3 – Qualifiers
35.1.8.3.1 /ALL
/ALL
/NOALL (default)
Display all messages shown with the last DIRECTORY command.
35.1.8.3.2 /CONFIRM
/CONFIRM
/NOCONFIRM (default)
When /CONFIRM is specified, you will prompted to confirm whether
or not to display each selected message.
35.1.8.3.3 /CONTENT
/CONTENT (default)
/NOCONTENT
Specify /NOCONTENT if you only want to read the message envelope
and header.
35.1.8.4 – Examples
In the following example, message 3 is displayed.
qm.user> READ 3
Message id: 3
Transport layer information:
----------------------------------------------------------------------
Envelope From: address: doej@example.com
Envelope To: addresses: jones
Message header:
----------------------------------------------------------------------
Received: from EXAMPLE.COM by EXAMPLE.COM (PMDF V5.0-1 #8790)
id <01HNPFR0P5OW9D4GAS@EXAMPLE.COM> for BERNOULLI@EXAMPLE.COM; Fri,
02 Aug 2012 16:48:41 -0700 (PDT)
Date: Fri, 02 Aug 2012 16:48:40 -0700 (PDT)
From: John Doe <doej@example.com>
To: jones@example.com
Subject: sea voyage
Message-id: <01HNPFR12JYA9D4GAS@EXAMPLE.COM>
MIME-version: 1.0
Content-type: TEXT/PLAIN; CHARSET=US-ASCII
Content-transfer-encoding: 7BIT
Message content:
----------------------------------------------------------------------
Would you be interested in taking a short cruise to Nova Scotia?
- DoeJ
qm.user>
35.1.9 – RETURN
Return a message to its sender.
Syntax
RETURN [message-id[,...]]
Qualifiers Defaults
/ALL /NOALL
/CONFIRM /NOCONFIRM
/LOG /LOG
35.1.9.1 – Parameters
message-id
A comma separated list of one or more message identification
numbers shown with a previous DIRECTORY command. Ranges are
allowed.
35.1.9.2 – Description
Queued messages can be returned to their originator with the
RETURN command. The messages to be returned are specified by
their message identification numbers shown by the most recent
DIRECTORY command. Those numbers appear in the leftmost column of
the DIRECTORY command listing.
35.1.9.3 – Qualifiers
35.1.9.3.1 /ALL
/ALL
/NOALL (default)
Return all messages shown by the last DIRECTORY command. Unless
/NOCONFIRM is specified with /ALL, you will be required to
confirm any RETURN/ALL operation.
35.1.9.3.2 /CONFIRM
/CONFIRM
/NOCONFIRM (default)
When /CONFIRM is specified, you will be prompted to confirm each
message return operation.
35.1.9.3.3 /LOG
/LOG (default)
/NOLOG
Specifies whether informational messages for each message return
operation are generated.
35.1.10 – SPAWN
Create a subprocess.
Syntax
SPAWN [command]
Qualifiers Defaults
/INPUT=in-file-spec None
/LOGICAL_NAMES /LOGICAL_NAMES
/OUTPUT=out-file-spec None
/PROCESS=name None
/SYMBOLS /SYMBOLS
/WAIT /WAIT
35.1.10.1 – Restrictions
Cannot be used from a captive account.
35.1.10.2 – Parameters
command
Optional parameter specifying the command string for the
subprocess to execute. After the command completes, the
subprocess terminates and control is returned to the parent
process.
35.1.10.3 – Description
The SPAWN command can be used to either issue a single DCL
command from within PMDF QM or to leave PMDF QM temporarily, do
other work (e.g., type out a file, generate a directory listing,
etc.), and then return to PMDF QM.
By default, the context of the current process is copied to the
subprocess. This behavior can be controlled with the /LOGICAL_
NAMES and /SYMBOLS qualifiers.
35.1.10.4 – Qualifiers
35.1.10.4.1 /INPUT
/INPUT=in-file-spec
Specifies an input command file from which the subprocess is to
draw command input. Once command processing is completed, the
subprocess terminates. When you specify both a command string and
input file, then the command string is first processed and then
the commands from the input file.
35.1.10.4.2 /LOGICAL_NAMES
/LOGICAL_NAMES (default)
/NOLOGICAL_NAMES
The /LOGICAL_NAMES qualifier specifies that the logical names
of the parent process are to be copied to the subprocess. This
is the default behavior. Specify /NOLOGICAL_NAMES to prevent the
subprocess from inheriting the logical name definitions of its
parent.
35.1.10.4.3 /OUTPUT
/OUTPUT=out-file-spec
Specifies the output file to which the output of the subprocess
is to be directed. If the /OUTPUT qualifier is omitted, then
subprocess output is directed to the current SYS$OUTPUT device
(generally, your terminal).
35.1.10.4.4 /PROCESS
/PROCESS=name
Specifies the process name to associate with the subprocess.
If not specified, a default name of the form USERNAME_n, where
"USERNAME" is your username, is used.
35.1.10.4.5 /SYMBOLS
/SYMBOLS (default)
/NOSYMBOLS
The /SYMBOLS qualifier specifies that the DCL symbol definitions
of the parent process are to be copied to the subprocess. This
is the default behavior. Specify /NOSYMBOLS to prevent the
subprocess from inheriting the symbol definitions of its parent.
35.1.10.4.6 /WAIT
/WAIT (default)
/NOWAIT
By default, your current (parent) process will wait until the
subprocess has finished its processing and terminated. This
default behavior is explicitly selected with the /WAIT qualifier.
The /NOWAIT qualifier allows you to continue working from your
current process while the subprocess is running. When you specify
/NOWAIT, you should also specify the /OUTPUT qualifier so as to
prevent the subprocess output from appearing on your terminal
screen.
35.1.10.5 – Examples
1.qm.user> SPAWN DIRECTORY/SIZE=ALL A.TXT
Directory D1:[BOB]
A.TXT;10 125/126
A.TXT;9 124/126
A.TXT;8 124/126
Total of 3 files, 373/378.
qm.user> SPAWN PURGE/LOG A.TXT
%PURGE-I-FILPURG, D1:[BOB]A.TXT;9 deleted (126 blocks)
%PURGE-I-FILPURG, D1:[BOB]A.TXT;8 deleted (126 blocks)
%PURGE-I-TOTAL, 2 files deleted (252 blocks)
qm.user>
In this example, the SPAWN command is used to obtain a
directory listing of the files A.TXT, and then to purge back
old versions of that file. The ability to do this is useful
when you find that you have insufficient disk quota to create
and edit a mail message you want to send.
2.qm.user> SPAWN
.
.
.
$ LOGOUT
Process BOB_1 logged out at 23-AUG-2012 12:12:51.42
qm.user>
In this example a SPAWN command with no command string is
issued. This places you into the subprocess where you can issue
DCL commands and perform other processing. When you are done
with the subprocess and ready to return to PMDF QM, use the
LOGOUT or EOJ command.
35.2 – Maintenance Mode Commands
35.2.1 – CLEAN
Hold or delete message files from the PMDF queue area that
contain specified substrings in their envelope From: address,
Subject: header, or message content.
Syntax
CLEAN [channel]
Command Qualifiers Defaults
/CONTENT=substring None
/DATABASE See text
/DELETE /HOLD
/DIRECTORY_TREE See text
/ENV_FROM=substring None
/HOLD /HOLD
/MATCH=keyword /MATCH=AND
/MIN_LENGTH=n /MIN_LENGTH=24
/SUBJECT=substring None
/THREADS=n /NOTHREADS
/VERBOSE /NOVERBOSE
35.2.1.1 – Parameters
channel
Optional parameter which specifies a specific PMDF channel area
to be searched for matching messages. * or ? wildcard characters
may be used in the channel specification.
35.2.1.2 – Description
Hold or delete message files containing specific substrings
in their envelope From: address, Subject: line, or content.
By default, message files are held (/HOLD). Specify /DELETE to
instead delete matching message files. The /CONTENT, /ENV_FROM,
and /SUBJECT qualifiers are used to specify the substrings for
which to search.
Any combination of /CONTENT, /ENV_FROM, and /SUBJECT may be
specified. However, only one of each may be used. The /MATCH
qualifier controls whether a message file must contain all
(/MATCH=AND, the default) or only one of (/MATCH=OR) the
specified substrings in order to be held or deleted. The default
is /MATCH=AND.
By default, each substring to be searched for must be at least
24 bytes long (/MIN_LENGTH=24). This is a safety measure:
the longer the substring, the less likely the chance of false
"hits". Use the /MIN_LENGTH qualifier to override this limit.
The message files searched may be either all those present in the
channel queue directory tree, or only those files with entries
in the queue cache database. Use either the VIEW command or the
/DIRECTORY_TREE or /DATABASE qualifier to control which files are
searched.
The optional channel parameter restricts the search to message
files in the specified channel. The channel parameter may use *
and ? wild cards.
The /THREADS qualifier may be used to accelerate searching on
multiprocessor systems by dividing the work amongst multiple,
simultaneously running threads. To run n simultaneous searchingg
threads, specify /THREADS=n. The value n must be in the range
1-8. The default is /NOTHREADS.
35.2.1.3 – Command Qualifiers
35.2.1.3.1 /CONTENT
/CONTENT=substring
/ENV_FROM=substring
/SUBJECT=substring
The /CONTENT, /ENV_FROM, and /SUBJECT qualifiers are used to
specify the substrings for which to search. Any combination of
/CONTENT, /ENV_FROM, and /SUBJECT may be specified. However, only
one of each may be used. When a combination of such qualifiers
is used, the /MATCH qualifier controls whether the qualifiers
are interpreted as further restrictions (/MATCH=AND), or as
alternatives (/MATCH=OR).
35.2.1.3.2 /DATABASE
/DATABASE
/DIRECTORY_TREE
Controls whether the message files searched are only those with
entries in the queue cache database, /DATABASE, or all message
files actually present in the channel queue directory tree,
/DIRECTORY_TREE.
When neither /DATABASE nor /DIRECTORY_TREE is specified, then the
"view" selected with the VIEW command will be used. If no VIEW
command has been issued, then /DIRECTORY_TREE is assumed.
35.2.1.3.3 /DELETE
/DELETE
/HOLD (default)
/HOLD is the default and means that matching message files will
be held. Specify /DELETE to instead delete matching message
files.
35.2.1.3.4 /MATCH
/MATCH=keyword
The default is /MATCH=AND, meaning that any criteria specified
by /CONTENT, /ENV_FROM, and /SUBJECT qualifiers must all match
in order for the current hold or delete operation to be applied.
Specifying /MATCH=OR means that a message will match as long as
at least one such criterion matches.
35.2.1.3.5 /MIN_LENGTH
/MIN_LENGTH=n
By default, each substring to be searched for must be at least 24
bytes long (/MIN_LENGTH=24). This is a safety measure: the longer
the substring, the less likely the chance of false "hits". Use
the /MIN_LENGTH qualifier to override this limit.
35.2.1.3.6 /THREADS
/THREADS=n
/NOTHREADS (default)
The /THREADS qualifier may be used to accelerate searching on
multiprocessor systems by dividing the work amongst multiple,
simultaneously running threads. To run n simultaneous searching
threads, specify /THREADS=n. The value n must be an integer in
the range 1-8. The default is /NOTHREADS.
35.2.1.3.7 /VERBOSE
/VERBOSE
/NOVERBOSE (default)
The /VERBOSE qualifier may be used to request that the utility
print out information about what it is doing as it operates.
35.2.1.4 – Examples
The following example shows holding all message files in the
PMDF queue area that have the string "real estate" in the
Subject: header and have the string "ownership.com" in the
envelope From: address.
qm.maint> CLEAN/MIN_LENGTH=11/SUBJECT="real estate"
35.2.1.4.1 /ENV_FROM="ownership.com"
%QM-I-QCLISTING, building a list of message files to scan from the queue cache %QM-I-SCANNING, scanning 72 message files %QM-I-SCANNED, scanned 72 message files in 3.7500 seconds (19.20 messages/second) %QM-I-HELD, held 5 message files
35.2.2 – COUNTERS
35.2.2.1 – CLEAR
Clear the node-specific, in-memory cache of counters.
Syntax
COUNTERS CLEAR
Command Qualifiers Defaults
/ASSOCIATIONS /ASSOCIATIONS
/CHANNELS /CHANNELS
35.2.2.1.1 – Parameters
None.
35.2.2.1.2 – Description
To clear (zero) the counters in a node-specific, in-memory
cache, issue the COUNTERS CLEAR command on that particular node.
The command creates the node-specific, in-memory section of
association and channel counters if it does not already exist.
Then it zeros all fields in the in-memory section. Note that the
counters will be zeroed without first merging their values into
the cluster-wide database of channel counters. If a cluster-
wide, on-disk database does not already exist, a new one will be
created. Finally, the fields in the on-disk database for numbers
of stored messages, message recipients, and message volumes are
set based on the entries in the PMDF queue cache database.
Either the association counters, or channel counters, or both,
may be cleared. The default is to clear both association and
channel counters.
If you want to update the on-disk database with the old in-memory
values before clearing them, then you should issue a COUNTERS
SYNCHRONIZE command before issuing the COUNTERS CLEAR command.
35.2.2.1.3 – Command Qualifiers
35.2.2.1.3.1 /ASSOCIATIONS
/ASSOCIATIONS (default)
/NOASSOCIATIONS
This qualifier specifies whether to clear the in-memory cache of
association counters.
35.2.2.1.3.2 /CHANNELS
/CHANNELS (default)
/NOCHANNELS
This qualifier specifies whether to clear the in-memory cache of
channel counters.
35.2.2.2 – CRDB
Create a cluster-wide database of accumulated association and
channel counters.
Syntax
COUNTERS CRDB
Command Qualifiers Defaults
None. None.
35.2.2.2.1 – Parameters
None.
35.2.2.2.2 – Description
A new, cluster-wide database of channel counters can be created
with the COUNTERS CRDB command. The new database will have all
counters zeroed except for the count of messages stored in each
channel. Those counts will be determined by entries in the PMDF
queue cache database. In addition, if an in-memory section for
association and channel counters on this node does not already
exist, it will be created as well.
Once the on-disk, cluster-wide database exists, you may use
the COUNTERS SYNCHRONIZE command to merge the information from
the node-specific, in-memory cache of counters into the on-disk
database.
35.2.2.3 – SHOW
Display the contents of the cluster-wide database of channel
counters.
Syntax
COUNTERS SHOW [channel]
Command Qualifiers Defaults
/HEADER /HEADER
/OUTPUT=file-spec None
/SYNCHRONIZE /SYNCHRONIZE
/TIMEOUT=seconds /TIMEOUT=120
35.2.2.3.1 – Parameters
channel
Optional channel name indicating the channel(s) for which to show
counters. May contain wildcards.
35.2.2.3.2 – Description
The contents of the cluster-wide channel counter database may be
displayed with the COUNTERS SHOW command. By default, before the
counters are displayed, an implicit COUNTERS SYNCHRONIZE command
will be executed, to attempt to synchronize each node-specific
cache with the main cluster-wide database. Specify /NOSYNCHRONIZE
to merely display the current contents of the database without
first synchronizing the node-specific caches.
Note that SYSLCK privilege is required to perform the
synchronization step.
Note that the output of PMDF QM's COUNTERS SHOW command is
currently not as detailed as the output of the DCL level PMDF
COUNTERS/SHOW command.
35.2.2.3.3 – Command Qualifiers
35.2.2.3.3.1 /HEADER
/HEADER (default)
/NOHEADER
Controls whether or not a header line describing each column in
the table of counters is output.
35.2.2.3.3.2 /OUTPUT
/OUTPUT=file-spec
Direct the output to the specified file. By default the output
appears on your display.
35.2.2.3.3.3 /SYNCHRONIZE
/SYNCHRONIZE (default)
/NOSYNCHRONIZE
Before displaying the counters, attempt to synchronize each of
the node-specific caches with the cluster-wide database. Specify
/NOSYNCHRONIZE to skip this synchronization step.
35.2.2.3.3.4 /TIMEOUT
/TIMEOUT=seconds
By default, QM will wait upwards of 120 seconds for the node-
specific caches to be synchronized with the cluster-wide
database. Should the synchronization step not be completed before
the specified time period, then QM will stop waiting and proceed
to display the information from the database. You may specify a
different period of time to wait with the /TIMEOUT qualifier.
This qualifier has no effect when /NOSYNCHRONIZE is specified.
35.2.2.3.4 – Examples
To display the counters information for all TCP/IP channels,
use the command
qm.maint> COUNTERS SHOW *tcp_*
Channel Messages Recipients Blocks
------------------------ ---------- ---------- ----------
tcp_local
Received 33 41 95
Stored 0 0 0
Delivered 33 41 95
Submitted 1 1 3
tcp_internal
Received 632 758 1453
Stored 1 2 10
Delivered 631 756 1443
Submitted 3 6 12
qm.maint>
35.2.2.4 – SYNCHRONIZE
Synchronize each of the node-specific, in-memory caches of
channel counters with the cluster-wide database.
Syntax
COUNTERS SYNCHRONIZE
Command Qualifiers Defaults
/TIMEOUT=seconds /TIMEOUT=120
35.2.2.4.1 – Parameters
None.
35.2.2.4.2 – Description
To synchronize each of the node-specific, in-memory cache of
channel counters with the cluster-wide database, issue a COUNTERS
SYNCHRONIZE command. The command will not return control back
to you until either all the caches have been synchronized
or a "timeout" period has elapsed. Should the timeout period
elapse, then control will be returned to you. However, the
synchronization process will continue in the background. Use
the /TIMEOUT qualifier to adjust the timeout period which has a
default value of 120 seconds.
Note that SYSLCK privilege is required to use this command.
Note that the COUNTERS SYNCHRONIZE command signals each PMDF
counters synchronization process in the cluster to perform the
synchronization-there should be one such process on each node
running PMDF. Note that on each node, the synchronization can
only be performed if the PMDF counters synchronization process is
running on that node.
Assuming that the PMDF counters synchronization process is
running on each node, then for each node the node-specific, in-
memory cache will be created, if it does not already exist. If
the cluster-wide, on-disk database does not exist, it will be
created. The in-memory cache values will be used to update the
on-disk database, and then the on-disk database values for stored
messages, recipients, and volume will be set by scanning the PMDF
queue cache database.
35.2.2.4.3 – Command Qualifiers
35.2.2.4.3.1 /TIMEOUT
/TIMEOUT=seconds
By default, QM will wait upwards of 120 seconds for the node-
specific caches to be synchronized. Should the synchronizations
not be completed before the specified time period, QM will
return control to you prompting you for another command.
The synchronization process will, however, continue in the
background.
35.2.2.5 – TODAY
Display PMDF's count of the number of messages processed so far
today.
Syntax
COUNTERS TODAY
Command Qualifiers Defaults
None. None.
35.2.2.5.1 – Description
PMDF's count of the number of messages processed so far today may
be displayed with the COUNTERS TODAY command.
35.2.2.5.2 – Examples
This example illustrates displaying PMDF's count of the number
of messages processed so far today.
qm.maint> COUNTERS TODAY
4263 messages processed so far today
30000 messages per day are permitted by your license
qm.maint>
35.2.3 – DATE
Show the current date and time.
Syntax
DATE
Command Qualifiers Defaults
None. None.
35.2.3.1 – Parameters
None.
35.2.3.2 – Description
The DATE command may be used to show the current date and time,
in RFC 822 and RFC 1123 format. It is useful for placing time
stamps in log files for command procedures which periodically run
PMDF QM to check on PMDF's channel queues.
35.2.3.3 – Examples
qm.maint> DATE
Fri, 15 Nov 2012 13:34:16 PST
qm.maint>
35.2.4 – DELETE
Delete one or more messages from the channel queue directory.
Syntax
DELETE [message-id[,...]]
Command Qualifiers Defaults
/ALL /NOALL
/CHANNEL=name None
/CONFIRM /NOCONFIRM
/LOG /LOG
35.2.4.1 – Parameters
message-id[,...]
A comma separated list of one or more message identification
number or numbers shown by a previous DIRECTORY command. Ranges
are allowed.
35.2.4.2 – Description
The DELETE command is used to delete one or more messages from
the channel queue directories. The messages to be deleted are
specified by their message identification numbers shown by
the most recent DIRECTORY command. That number appears in the
leftmost column of the DIRECTORY command listing. Ambiguous
message numbers must be qualified by the proper channel name
with the /CHANNEL qualifier.
Note that the DELETE command irrevocably deletes each message
it is instructed to delete: the messages are not returned to
their originators nor will any further attempts to be made to
deliver them to their recipients. The messages are permanently
deleted. Often, it is preferable to use the RETURN command so as
to return the message to its originator, (e.g., bounce it back to
the sender).
35.2.4.3 – Qualifiers
35.2.4.3.1 /ALL
/ALL
/NOALL (default)
Delete all messages shown by the last DIRECTORY command. When
used in conjunction with the /CHANNEL qualifier, only those
messages shown by the last DIRECTORY command for the specified
channel will be deleted.
Unless /NOCONFIRM is specified with /ALL, you will be required to
confirm any DELETE/ALL operation.
35.2.4.3.2 /CHANNEL
/CHANNEL=name
Specifies the name of the channel from which to delete messages.
Wildcards are not permitted.
35.2.4.3.3 /CONFIRM
/CONFIRM
/NOCONFIRM (default)
When /CONFIRM is specified, you will be prompted to confirm each
message delete operation.
35.2.4.3.4 /LOG
/LOG (default)
/NOLOG
Specifies whether informational messages for each message delete
operation are generated.
35.2.4.4 – Examples
In the following example, the DIRECTORY command is used to
list the messages in the local, l, channel. Then, the DELETE
command is used to delete messages 1, 3, 20, 21, and 22. A
range specification, 20-22, is used to specify message numbers
20, 21, and 22.
qm.maint> DIRECTORY L
Mon, 23 Sep 2012 13:43:39 PDT
Data gathered from the queue directory tree
Channel: l Size Queued since
--------------------------------------------------------------
1 ZZ01HNP17LSUWY9D4DNR.00 4 23-SEP-2012 01:10:23
2 ZZ01HNP1RP3B6G9D4DNR.00 10 23-SEP-2012 01:10:24
3 ZZ01HNP42MAMAI9D4DNR.00 3 23-SEP-2012 01:10:24
4 ZZ01HNP4MEWC8G9D4DNR.00 8 23-SEP-2012 06:18:57
...
24 ZZ01HNP90X63ZG9D4DNR.00 6 23-SEP-2012 13:21:14
--------------------------------------------------------------
Total size: 108
24 total messages queued
qm.maint> DELETE 1,3,20-22
%QM-I-DELETED, deleted the message file PMDF_QUEUE:[L]ZZ01HNP17LSUWY9D4DNR.00
%QM-I-DELETED, deleted the message file PMDF_QUEUE:[L]ZZ01HNP42MAMAI9D4DNR.00
%QM-I-DELETED, deleted the message file PMDF_QUEUE:[L]ZZ01HNP76RTGHY9D4DNR.00
%QM-I-DELETED, deleted the message file PMDF_QUEUE:[L]ZZ01HNP82HTXYB9D4DNR.00
%QM-I-DELETED, deleted the message file PMDF_QUEUE:[L]ZZ01HNP83JPOCV9D4DNR.00
qm.maint>
35.2.5 – DIRECTORY
List currently queued messages.
Syntax
DIRECTORY [channel-name]
Command Qualifiers Defaults
/DATABASE See text
/DIRECTORY_TREE See text
/ENVELOPE /NOENVELOPE
/FILE_INFO /FILE_INFO
/FROM See text
/HELD /NOHELD
/MATCH See text
/OWNER See text
/TO See text
/TOTAL See text
35.2.5.1 – Parameters
channel-name
An optional parameter specifying the channel for which to obtain
a directory listing. Wildcards are permitted.
35.2.5.2 – Description
The DIRECTORY command is used to show the currently queued
message files in either all channel queues or a particular
channel queue. In the listing, message identification numbers
will appear to the left of each message file name. These numbers
may be used with the DELETE, HISTORY, HOLD, READ, RELEASE, and
RETURN commands so as to identify which message to operate on.
The DIRECTORY command produces its listing by looking at either
the actual queue directory tree on disk, or by looking at
the queue cache database. Use either the VIEW command or the
/DIRECTORY_TREE or /DATABASE qualifiers to control the source
of information used. Note that when /DIRECTORY_TREE or VIEW
DIRECTORY_TREE is used, the "queued since" dates are the date
and time that the message file was created; when /DATABASE or
VIEW DATABASE is used, the queued since dates are the date and
time that the message was enqueued and may pre-date the actual
creation date for the message file itself.
35.2.5.3 – Qualifiers
35.2.5.3.1 /DATABASE
/DATABASE
/DIRECTORY_TREE
Controls whether the information presented is gathered from the
queue cache database, /DATABASE, or by looking at the actual
directory tree containing the channel queues, /DIRECTORY_TREE.
When neither /DATABASE nor /DIRECTORY_TREE is specified, then the
"view" selected with the VIEW command will be used. If no VIEW
command has been issued, then /DIRECTORY_TREE is assumed.
35.2.5.3.2 /DIRECTORY_TREE
See /DATABASE
35.2.5.3.3 /ENVELOPE
/ENVELOPE
/NOENVELOPE (default)
Use the /ENVELOPE qualifier to generate a directory listing
including the envelope From: address and the list of envelope
To: recipients for each listed message. By default, envelope
information is not displayed as it involves opening each message
file and reading through its envelope.
35.2.5.3.4 /FILE_INFO
/FILE_INFO (default)
/NOFILE_INFO
By default, message file size and creation date information is
gathered. However, this requires accessing each message file.
Specify /NOFILE_INFO if you want to avoid that overhead.
35.2.5.3.5 /FROM
/FROM=address
This qualifier may be used to request showing only those messages
with the specified envelope From: address. This qualifier implies
/ENVELOPE. To specify an empty (blank) envelope From: address,
use /FROM=<>.
35.2.5.3.6 /HELD
/HELD
/NOHELD (default)
Show information only for those channels with held messages.
35.2.5.3.7 /MATCH
/MATCH=keyword
This qualifier controls the interpretation of the /FROM and /TO
qualifiers. Valid keywords are AND and OR.
35.2.5.3.8 /OWNER
/OWNER=username
This qualifier may be used to request showing only those
message "owned" by the specified username. This qualifier
implies /DATABASE. Note that messages submitted via SMTP with
authentication (SMTP AUTH) will be considered to be owned by
the username that authenticated, prefixed with the asterisk, *,
character. For instance, if user JDOE submits a message from an
IMAP client that successfully performs SMTP authentication, then
PMDF QM will consider the owner of the message to be *JDOE, and
to see such messages one would use the command
qm.maint> DIR/OWNER=*JDOE
35.2.5.3.9 /TO
/TO=address
This qualifier may be used to request showing only those messages
with the specified envelope To: address. This qualifier implies
/ENVELOPE.
35.2.5.3.10 /TOTAL
This qualifier may be used to request showing only the total
number of messages, rather than listing each individual message
as is the default.
35.2.5.4 – Examples
1.qm.maint> DIRECTORY *TCP_*
Mon, 23 Sep 2012 14:53:39 PST
Data gathered from the queue directory tree
Channel: tcp_local Size Queued since
--------------------------------------------------------------
1 ZL01HNM78RMBP496VPJS.00 4 21-SEP-2012 09:12:29.53
2 ZM01HNMEDX5T8E96VQDN.00 10 21-SEP-2012 12:36:41.35
3 ZX01HNP9IO1ZAM96W55R.00 6 21-SEP-2012 13:50:06.89
4 ZY01HNP9HTAO9696W55R.00 5 21-SEP-2012 13:49:25.61
5 ZY01HNPBGF8JVI96W55R.00 6 21-SEP-2012 14:45:34.33
6 ZZ01HNPBFPQ4LG96W55R.00 5 21-SEP-2012 14:45:00.01
7 ZZ01HNPBFQ4BS896W55R.00 5 21-SEP-2012 14:45:00.53
8 ZZ01HNPBFR5KG296W55R.00 5 21-SEP-2012 14:45:01.92
9 ZZ01HNPBFRD2IC96W55R.00 5 21-SEP-2012 14:45:02.19
10 ZZ01HNPBFS7VP896W55R.00 5 21-SEP-2012 14:45:03.36
11 ZZ01HNPBFTM8YY96W55R.00 5 21-SEP-2012 14:45:05.23
12 ZZ01HNPBFY7JYU96W55R.00 5 21-SEP-2012 14:45:11.41
13 ZZ01HNPBGL2BYC96W55R.00 5 21-SEP-2012 14:45:42.10
--------------------------------------------------------------
Total size: 71
Channel: mtcp_gateway Size Queued since
--------------------------------------------------------------
1 ZY01HNP9HYJ0QK96W55R.00 6 23-SEP-2012 13:49:32.60
2 ZY01HNP9ID452296W55R.00 6 23-SEP-2012 13:49:52.18
3 ZZ01HNPBFT1MAC96W55R.00 5 23-SEP-2012 14:45:04.47
4 ZZ01HNPBGH5OAM96W55R.00 5 23-SEP-2012 14:45:36.85
5 ZZ01HNPBGZO97C96W55R.00 5 23-SEP-2012 14:46:01.73
--------------------------------------------------------------
Total size: 27
Grand total size: 98
28 total messages queued
qm.maint>
This example shows how to use the DIRECTORY command to list the
messages queued to all channels whose names match the pattern
"*tcp_*"; i.e., all TCP/IP channels.
2.qm.maint> DIRECTORY/HELD
Mon, 23 Sep 2012 13:45:18 PST
Data gathered from the queue directory tree
Channel: tcp_local Size Queued since
--------------------------------------------------------------
1 ZZG01HNM78RMBP496VPJS.HELD 10 12-SEP-2012 23:31:18.34
2 ZZM01HNMEDX5T8E96VQDN.HELD 8 8-JUL-2012 13:36:14.89
3 ZZX01HNP9IO1ZAM96W55R.HELD 23 29-AUG-2012 07:27:49.01
--------------------------------------------------------------
Total size: 41
Grand total size: 41
3 total held messages queued
qm.maint>
In this example, the /HELD qualifier is used to check for held
messages.
35.2.6 – EDIT_FAX
Edit a queued PMDF-FAX message.
Syntax
EDIT_FAX [message-id[,...]]
Command Qualifiers Defaults
/ALL /NOALL
/CHANNEL=name None
/CONFIRM /NOCONFIRM
/LOG /LOG
35.2.6.1 – Parameters
message-id[,...]
A comma separated list of one or more message identification
numbers shown with a previous DIRECTORY command. Ranges are
allowed.
35.2.6.2 – Description
The addresses of queued FAX messages may be edited so as,
for instance, to correct an incorrect FAX telephone number.
The messages to be edited are specified by their message
identification numbers shown by the most recent DIRECTORY
command. That number appears in the leftmost column of the
DIRECTORY command listing. Ambiguous message numbers must be
qualified by the proper channel name with the /CHANNEL qualifier.
35.2.6.3 – Qualifiers
35.2.6.3.1 /ALL
/ALL
/NOALL (default)
Edit all messages shown by the last DIRECTORY command. When used
in conjunction with the /CHANNEL qualifier, only those messages
shown by the last DIRECTORY command for the specified channel
will be edited.
Unless /NOCONFIRM is specified with /ALL, you will be required to
confirm any EDIT_FAX/ALL operation.
35.2.6.3.2 /CHANNEL
/CHANNEL=name
Specifies the name of the channel from which to edit messages.
Wildcards are not permitted.
35.2.6.3.3 /CONFIRM
/CONFIRM
/NOCONFIRM (default)
When /CONFIRM is specified, you will prompted to confirm each
message edit operation.
35.2.6.3.4 /LOG
/LOG (default)
/NOLOG
Specifies whether informational messages for each message edit
operation are generated.
35.2.7 – EXIT
Exit the PMDF QM utility.
Syntax
EXIT
Command Qualifiers Defaults
None. None.
35.2.7.1 – Parameters
None.
35.2.7.2 – Description
The EXIT and QUIT commands exit the PMDF QM utility.
35.2.8 – HELD
List currently queued messages which have been marked as held.
Syntax
HELD [channel-name]
Command Qualifiers Defaults
/DATABASE See text
/DIRECTORY_TREE See text
/ENVELOPE See text
/FILE_INFO /FILE_INFO
/HELD /HELD
35.2.8.1 – Parameters
channel-name
An optional parameter specifying the channel for which to obtain
a directory listing. Wildcards are permitted.
35.2.8.2 – Description
The HELD command is a synonym for the DIRECTORY/HELD command. See
the description of the DIRECTORY command for further information.
35.2.8.3 – Qualifiers
35.2.8.3.1 /DATABASE
/DATABASE
/DIRECTORY_TREE
Controls whether the information presented is gathered from the
queue cache database, /DATABASE, or by looking at the actual
directory tree containing the channel queues, /DIRECTORY_TREE.
When neither /DATABASE or /DIRECTORY_TREE is specified, then the
"view" selected with the VIEW command will be used. If no VIEW
command has been issued, then /DIRECTORY_TREE is assumed.
35.2.8.3.2 /DIRECTORY_TREE
See /DATABASE
35.2.8.3.3 /ENVELOPE
Display envelope To: and From: for the held messages listed.
35.2.8.3.4 /FILE_INFO
/FILE_INFO
/NOFILE_INFO (default)
By default, message file size and creation date information is
gathered. However, this requires accessing each message file.
Specify /NOFILE_INFO if you want to avoid that overhead.
35.2.8.3.5 /HELD
/HELD (default)
/NOHELD
Show information only for those channels with held messages.
35.2.9 – HELP
Obtain help on the use of PMDF QM.
Syntax
HELP [topic]
Command Qualifiers Defaults
None. None.
35.2.9.1 – Parameters
topic
Optional topic to obtain help on.
35.2.9.2 – Description
The HELP command may be used to obtain information on PMDF QM
commands. To obtain information on all of the PMDF QM commands,
use the command
qm.maint> HELP
To obtain information on individual commands or topics use the
command
qm.maint> HELP topic
where TOPIC is the name of the command or topic of interest.
35.2.10 – HISTORY
Display message history information.
Syntax
HISTORY [message-id[,...]]
Command Qualifiers Defaults
/ALL /NOALL
/CHANNEL=name None
/CONFIRM /NOCONFIRM
35.2.10.1 – Parameters
message-id[,...]
A comma separated list of one or more message identification
numbers shown with a previous DIRECTORY command. Ranges are
allowed.
35.2.10.2 – Description
For many channels, delivery history information is appended
to the end of each message file after an unsuccessful delivery
attempt has been made. With the HISTORY command, this information
can be displayed.
The messages to show histories for are specified by their message
identification numbers shown by the most recent DIRECTORY
command. That number appears in the leftmost column of the
DIRECTORY command listing. Ambiguous message numbers must be
qualified by the proper channel name with the /CHANNEL qualifier.
Note that history information is not recorded by some channels.
35.2.10.3 – Qualifiers
35.2.10.3.1 /ALL
/ALL
/NOALL (default)
Display history information for all messages shown with the last
DIRECTORY command. When used in conjunction with the /CHANNEL
qualifier, only histories of those messages shown with the last
DIRECTORY command for the specified channel will be shown.
35.2.10.3.2 /CHANNEL
/CHANNEL=name
Specifies the name of the channel for which to show message
histories. Wild cards are not permitted.
35.2.10.3.3 /CONFIRM
/CONFIRM
/NOCONFIRM (default)
When /CONFIRM is specified, you will be prompted to confirm
whether or not to display the history for each selected message.
35.2.11 – HOLD
Mark one or more messages as being held.
Syntax
HOLD [message-id[,...]]
Command Qualifiers Defaults
/ALL /NOALL
/CHANNEL=name None
/CONFIRM /NOCONFIRM
/LOG /LOG
35.2.11.1 – Parameters
message-id[,...]
A comma separated list of one or more message identification
numbers shown with a previous DIRECTORY command. Ranges are
allowed.
35.2.11.2 – Description
Use the HOLD command to mark as held any messages which should
temporarily be placed on "hold". PMDF will not attempt to deliver
any messages which are marked as held. To resume processing of a
held message, use the RELEASE command. Messages which have been
held can be listed with the DIRECTORY/HELD command.
The messages to be held are specified by their message
identification numbers shown by the most recent DIRECTORY
command. That number appears in the leftmost column of the
DIRECTORY command listing. Ambiguous message numbers must be
qualified by the proper channel name with the /CHANNEL qualifier.
35.2.11.3 – Qualifiers
35.2.11.3.1 /ALL
/ALL
/NOALL (default)
Hold all messages shown by the last DIRECTORY command. When used
in conjunction with the /CHANNEL qualifier, only those messages
shown by the last directory command for the specified channel
will be held.
Unless /NOCONFIRM is specified with /ALL, you will be required to
confirm any HOLD/ALL operation.
35.2.11.3.2 /CHANNEL
/CHANNEL=name
Specifies the name of the channel from which to hold messages.
Wildcards are not permitted.
35.2.11.3.3 /CONFIRM
/CONFIRM
/NOCONFIRM (default)
When /CONFIRM is specified, you will be prompted to confirm each
message hold operation.
35.2.11.3.4 /LOG
/LOG (default)
/NOLOG
Specifies whether informational messages for each message hold
operation are generated.
35.2.11.4 – Examples
In the following example, the DIRECTORY command is used to
list the messages in the local, l, channel. Then, the HOLD
command is used to hold messages 1, 3, 20, 21, and 22. A range
specification, 20-22, is used to specify message numbers 20,
21, and 22.
qm.maint> DIRECTORY L
Fri, 10 Mar 2012 13:43:39 PDT
Data gathered from the queue directory tree
Channel: l Size Queued since
--------------------------------------------------------------
1 ZZ01HNP17LSUWY9D4DNR.00 4 15-NOV-2012 01:10:23
2 ZZ01HNP1RP3B6G9D4DNR.00 10 10-MAR-2012 01:10:24
3 ZZ01HNP42MAMAI9D4DNR.00 3 10-MAR-2012 01:10:24
4 ZZ01HNP4MEWC8G9D4DNR.00 8 10-MAR-2012 06:18:57
...
24 ZZ01HNP90X63ZG9D4DNR.00 6 10-MAR-2012 13:21:14
--------------------------------------------------------------
24 total messages queued
qm.maint> HOLD 1,3,20-22
%QM-I-HELD, held the message file PMDF_QUEUE:[L]ZZ01HNP17LSUWY9D4DNR.00
%QM-I-HELD, held the message file PMDF_QUEUE:[L]ZZ01HNP42MAMAI9D4DNR.00
%QM-I-HELD, held the message file PMDF_QUEUE:[L]ZZ01HNP76RTGHY9D4DNR.00
%QM-I-HELD, held the message file PMDF_QUEUE:[L]ZZ01HNP82HTXYB9D4DNR.00
%QM-I-HELD, held the message file PMDF_QUEUE:[L]ZZ01HNP83JPOCV9D4DNR.00
qm.maint>
35.2.12 – QUIT
Exit the PMDF QM utility.
Syntax
QUIT
Command Qualifiers Defaults
None. None.
35.2.12.1 – Parameters
None.
35.2.12.2 – Description
The EXIT and QUIT commands exit the PMDF QM utility.
35.2.13 – READ
Display message envelope and header information.
Syntax
READ [message-id[,...]]
Command Qualifiers Defaults
/ALL /NOALL
/CHANNEL=name None
/CONFIRM /NOCONFIRM
/CONTENT /NOCONTENT
35.2.13.1 – Parameters
message-id[,...]
A comma separated list of one or more message identification
numbers shown with a previous DIRECTORY command. Ranges are
allowed.
35.2.13.2 – Description
The READ command may be used to display envelope and header
information for one or more queued messages. To also view the
message content, use the /CONTENT qualifier.
The messages to display are specified by their message
identification numbers shown by the most recent DIRECTORY
command. That number appears in the leftmost column of the
DIRECTORY command listing. Ambiguous message numbers must be
qualified by the proper channel name with the /CHANNEL qualifier.
35.2.13.3 – Qualifiers
35.2.13.3.1 /ALL
/ALL
/NOALL (default)
Display all messages shown with the last DIRECTORY command.
When used in conjunction with the /CHANNEL qualifier, only those
messages shown with the last DIRECTORY command for the specified
channel will be shown.
35.2.13.3.2 /CHANNEL
/CHANNEL=name
Specifies the name of the channel from which to display messages.
Wildcards are not permitted.
35.2.13.3.3 /CONFIRM
/CONFIRM
/NOCONFIRM (default)
When /CONFIRM is specified, you will be prompted to confirm
whether or not to display each selected message.
35.2.13.3.4 /CONTENT
/CONTENT
/NOCONTENT (default)
When /CONTENT is specified, the content of the message will also
be shown.
35.2.13.4 – Examples
In the following example, the envelope and header information
for message number 1 is displayed.
qm.maint> READ 1
Filename: PMDF_QUEUE:[L]ZZ01HNPFR2FUN89D4GAS.00
Message id: 1
Transport layer information:
----------------------------------------------------------------------
Envelope From: address: fresnel@example.com
Envelope To: addresses: bernoulli
Message header:
----------------------------------------------------------------------
Received: from EXAMPLE.COM by EXAMPLE.COM (PMDF V6.1-1 #8790)
id <01HNPFR0P5OW9D4GAS@EXAMPLE.COM> for BERNOULLI@EXAMPLE.COM; Fri,
15 Nov 2012 16:48:41 -0700 (PDT)
Date: Fri, 15 Nov 2012 16:48:40 -0700 (PDT)
From: Fresnel the tabby cat <fresnel@example.com>
To: bernoulli@example.com
Subject: catnip and catnaps
Message-id: <01HNPFR12JYA9D4GAS@EXAMPLE.COM>
MIME-version: 1.0
Content-type: TEXT/PLAIN; CHARSET=US-ASCII
Content-transfer-encoding: 7BIT
qm.maint>
35.2.14 – RELEASE
Release one or more held messages.
Syntax
RELEASE [message-id[,...]]
Command Qualifiers Defaults
/ALL /NOALL
/CHANNEL=name None
/CONFIRM /NOCONFIRM
/LOG /LOG
35.2.14.1 – Parameters
message-id[,...]
A comma separated list of one or more message identification
numbers shown with a previous DIRECTORY/HELD command. Ranges are
allowed.
35.2.14.2 – Description
Use the RELEASE command to release any messages previously marked
as held, re-enter them in the queue cache database, and run the
associated channel so the messages can be processed. Messages
which have been held can be listed with the DIRECTORY/HELD
command.
The messages to be released are specified by their message
identification numbers shown by the most recent DIRECTORY
command. That number appears in the leftmost column of the
DIRECTORY command listing. Ambiguous message numbers must be
qualified by the proper channel name with the /CHANNEL qualifier.
35.2.14.3 – Qualifiers
35.2.14.3.1 /ALL
/ALL
/NOALL (default)
Release all messages shown by the last DIRECTORY/HELD command.
When used in conjunction with the /CHANNEL qualifier, only
those messages shown by the last DIRECTORY/HELD command for the
specified channel will be released.
Unless /NOCONFIRM is specified with /ALL, you will be required to
confirm any RELEASE/ALL operation.
35.2.14.3.2 /CHANNEL
/CHANNEL=name
Specifies the name of the channel from which to release messages.
Wildcards are not permitted.
35.2.14.3.3 /CONFIRM
/CONFIRM
/NOCONFIRM (default)
When /CONFIRM is specified, you will be prompted to confirm each
message release operation.
35.2.14.3.4 /LOG
/LOG (default)
/NOLOG
Specifies whether informational messages for each message release
operation are generated.
35.2.14.4 – Examples
In the following example, the DIRECTORY/HELD command is used to
list held messages in the tcp_local channel. Then, the RELEASE
command is used to release all of the held messages from that
channel.
qm.maint> DIRECTORY/HELD TCP_LOCAL
Fri, 15 Nov 2012 13:43:39 PDT
Data gathered from the queue directory tree
Channel: tcp_local Size Queued since
--------------------------------------------------------------
1 ZZ01HNP17LSUWY9D4DNR.HELD 4 13-NOV-2012 03:12:00
2 ZZ01HNP1RP3B6G9D4DNR.HELD 10 14-NOV-2012 11:46:23
3 ZZ01HNP42MAMAI9D4DNR.HELD 5 14-NOV-2012 18:17:01
--------------------------------------------------------------
Total size: 19
3 total messages queued
qm.maint> RELEASE/ALL
Release all message files (Y/N, default is N)? YES
%QM-I-RELEASED, released the message file
PMDF_QUEUE:[TCP_LOCAL]ZZ01HNP17LSUWY9D4DNR.HELD
%QM-I-RELEASED, released the message file
PMDF_QUEUE:[TCP_LOCAL]ZZ01HNP1RP3B6G9D4DNR.HELD
%QM-I-RELEASED, released the message file
PMDF_QUEUE:[TCP_LOCAL]ZZ01HNP42MAMAI9D4DNR.HELD
qm.maint>
35.2.15 – RETURN
Return a message to its sender.
Syntax
RETURN [message-id[,...]]
Command Qualifiers Defaults
/ALL /NOALL
/CHANNEL=name None
/CONFIRM /NOCONFIRM
/LOG /LOG
35.2.15.1 – Parameters
message-id[,...]
A comma separated list of one or more message identification
numbers shown with a previous DIRECTORY command. Ranges are
allowed.
35.2.15.2 – Description
Queued messages may be returned to their originator with the
RETURN command. The messages to be returned are specified by
their message identification numbers shown by the most recent
DIRECTORY command. That number appears in the leftmost column of
the DIRECTORY command listing. Ambiguous message numbers must be
qualified by the proper channel name with the /CHANNEL qualifier.
The returned message is in two parts. The first part explains the
reason why the message is being returned; the text of the reason
is contained in the file RETURN_BOUNCED.TXT file located in the
PMDF language-specific directory. The second part of the returned
message contains the original message itself.
35.2.15.3 – Qualifiers
35.2.15.3.1 /ALL
/ALL
/NOALL (default)
Return all messages shown by the last DIRECTORY command. When
used in conjunction with the /CHANNEL qualifier, only those
messages shown by the last DIRECTORY command for the specified
channel will be returned.
Unless /NOCONFIRM is specified with /ALL, you will be required to
confirm any RETURN/ALL operation.
35.2.15.3.2 /CHANNEL
/CHANNEL=name
Specifies the name of the channel from which to return messages.
Wildcards are not permitted.
35.2.15.3.3 /CONFIRM
/CONFIRM
/NOCONFIRM (default)
When /CONFIRM is specified, you will be prompted to confirm each
message return operation.
35.2.15.3.4 /LOG
/LOG (default)
/NOLOG
Specifies whether informational messages for each message return
operation are generated.
35.2.16 – SPAWN
Create a subprocess.
Syntax
SPAWN [command]
Command Qualifiers Defaults
/INPUT=in-file-spec None
/LOGICAL_NAMES /LOGICAL_NAMES
/OUTPUT=out-file-spec None
/PROCESS=name None
/SYMBOLS /SYMBOLS
/WAIT /WAIT
35.2.16.1 – Restrictions
Cannot be used from a captive account.
35.2.16.2 – Parameters
command
Optional parameter specifying the command string for the
subprocess to execute. After the command completes, the
subprocess terminates and control is returned to the parent
process.
35.2.16.3 – Description
The SPAWN command may be used to either issue a single DCL
command from within PMDF QM or to leave PMDF QM temporarily, do
other work (e.g., type out a file, generate a directory listing,
etc.), and then return to PMDF QM.
By default, the context of the current process is copied to the
subprocess. This behavior may be controlled with the /LOGICAL_
NAMES and /SYMBOLS qualifiers.
35.2.16.4 – Qualifiers
35.2.16.4.1 /INPUT
/INPUT=in-file-spec
Specifies an input command file from which the subprocess is to
draw command input. Once command processing is completed, the
subprocess terminates. When you specify both a command string and
input file, then the command string is first processed and then
the commands from the input file.
35.2.16.4.2 /LOGICAL_NAMES
/LOGICAL_NAMES (default)
/NOLOGICAL_NAMES
The /LOGICAL_NAMES qualifier specifies that the logical names
of the parent process are to be copied to the subprocess. This
is the default behavior. Specify /NOLOGICAL_NAMES to prevent the
subprocess from inheriting the logical name definitions of its
parent.
35.2.16.4.3 /OUTPUT
/OUTPUT=out-file-spec
Specifies the output file to which the output of the subprocess
is to be directed. If the /OUTPUT qualifier is omitted, then
subprocess output is directed to the current SYS$OUTPUT device
(generally, your terminal).
35.2.16.4.4 /PROCESS
/PROCESS=name
Specifies the process name to associate with the subprocess.
If not specified, a default name of the form USERNAME_n, where
"USERNAME" is your username, is used.
35.2.16.4.5 /SYMBOLS
/SYMBOLS (default)
/NOSYMBOLS
The /SYMBOLS qualifier specifies that the DCL symbol definitions
of the parent process are to be copied to the subprocess. This
is the default behavior. Specify /NOSYMBOLS to prevent the
subprocess from inheriting the symbol definitions of its parent.
35.2.16.4.6 /WAIT
/WAIT (default)
/NOWAIT
By default, your current (parent) process will wait until the
subprocess has finished its processing and terminated. This
default behavior is explicitly selected with the /WAIT qualifier.
The /NOWAIT qualifier allows you to continue working from your
current process while the subprocess is running. When you specify
/NOWAIT, you should also specify the /OUTPUT qualifier so as to
prevent the subprocess output from appearing on your terminal
screen.
35.2.16.5 – Examples
1.qm.maint> SPAWN DIRECTORY/SIZE=ALL a.txt
Directory D1:[BOB]
A.TXT;10 125/126
A.TXT;9 124/126
A.TXT;8 124/126
Total of 3 files, 373/378.
qm.maint> SPAWN PURGE/LOG a.txt
%PURGE-I-FILPURG, D1:[BOB]A.TXT;9 deleted (126 blocks)
%PURGE-I-FILPURG, D1:[BOB]A.TXT;8 deleted (126 blocks)
%PURGE-I-TOTAL, 2 files deleted (252 blocks)
qm.maint>
In this example, the SPAWN command is used to obtain a
directory listing of the files A.TXT, and then to purge back
old versions of that file. The ability to do this is useful
when you find that you have insufficient disk quota to create
and edit a mail message you want to send.
2.qm.maint> SPAWN
.
.
.
$ LOGOUT
Process BOB_1 logged out at 15-NOV-2012 12:12:51.42
qm.maint>
In this example a SPAWN command with no command string is
issued. This places you into the subprocess where you can issue
DCL commands and perform other processing. When you are done
with the subprocess and ready to return to PMDF QM, use the
LOGOUT or EOJ command.
35.2.17 – SUMMARIZE
Display a summary listing of message files.
Syntax
SUMMARIZE
Command Qualifiers Defaults
/DATABASE See text
/DIRECTORY_TREE See text
/HEADING /HEADING
/HELD /NOHELD
/TRAILING /TRAILING
35.2.17.1 – Parameters
None.
35.2.17.2 – Description
Display a summary listing of message files.
35.2.17.3 – Command Qualifiers
35.2.17.3.1 /DATABASE
/DATABASE
/DIRECTORY_TREE
Controls whether the information presented is gathered from the
queue cache database, /DATABASE, or by looking at the actual
directory tree containing the channel queues, /DIRECTORY_TREE.
When neither /DATABASE or /DIRECTORY_TREE is specified, then the
"view" selected with the VIEW command will be used. If no VIEW
command has been issued, then /DIRECTORY_TREE is assumed.
35.2.17.3.2 /HEADING
/HEADING (default)
/NOHEADING
Controls whether or not a heading line describing each column of
output is displayed at the start of the summary listing.
35.2.17.3.3 /HELD
/HELD
/NOHELD (default)
Controls whether or not to include counts of .HELD messages in
the output.
35.2.17.3.4 /TRAILING
/TRAILING (default)
/NOTRAILING
Controls whether or not a trailing line with totals is displayed
at the end of the summary.
35.2.17.4 – Examples
The following example shows displaying a summary listing of
message files.
qm.maint> SUMMARIZE
Messages
Channel Queued Size (Kb) Oldest
-------------------------------- -------- ----------- -----------------
cc_local 0 0.00
circuitcheck 4 7.51 8 Jun, 10:19:20
conversion 0 0.00
l 0 0.00
mailserv 0 0.00
mime_to_x400 0 0.00
mr_local 0 0.00
popstore 0 0.00
process 0 0.00
reprocess 0 0.00
tcp_internal 15 51.47 2 Jun, 12:10:03
tcp_local 0 0.00
wpo_local 0 0.00
x400_local 0 0.00
x400_to_mime 0 0.00
-------------------------------- -------- ----------- -----------------
Totals 19 58.98
qm.maint>
35.2.18 – TOP
Display the most frequently occurring envelope From:, Subject:,
or message content fields found in message files in the channel
queues.
Syntax
TOP [channel]
Command Qualifiers Defaults
/CONTENT[=offset-specifier] None
/DATABASE See text
/DIRECTORY_TREE See text
/ENV_FROM[=offset-specifier] None
/MIN_COUNT=n /MIN_COUNT=2
/SUBJECT[=offset-specifier] /SUBJECT=(START=1,LENGTH=2147483647)
/THREADS=n /NOTHREADS
/TOP=n /TOP=20
/VERBOSE /NOVERBOSE
35.2.18.1 – Parameters
channel
Optional parameter which specifies a specific PMDF channel area
to be scanned for string frequencies. * or ? wildcard characters
may be used in the channel specification.
35.2.18.2 – Description
Display the most frequently occurring envelope From:, Subject:,
or message content fields found in message files in the channel
queues. By default, only Subject: fields are shown (/SUBJECT).
Use /ENV_FROM to display frequent envelope From: fields or
/CONTENT to display frequent message contents. Any combination
of /CONTENT, /ENV_FROM, and /SUBJECT may be specified. However,
only one of each may be used.
The optional channel parameter restricts the scan to message
files in the specified channel. The channel parameter may use *
and ? wild cards.
By default, the top 20 most frequently occurring fields are
shown (/TOP=20) provided that they occur 2 or more times (/MIN_
COUNT=2). Use the /TOP and /MIN_COUNT qualifiers to alter this
behavior. The message files searched may be either all those
present in the channel queue directory tree, or only those files
with entries in the queue cache database. Use either the VIEW
command of the /DIRECTORY_TREE or /DATABASE qualifier to control
which files are searched.
The /THREADS qualifier may be used to accelerate scanning on
multiprocessor systems by dividing the work amongst multiple,
simultaneously running threads. To run n simultaneous scanning
threads, specify /THREADS=n. The value N must be in the range
1-8. The default is /NOTHREADS.
The /CONTENT, /ENV_FROM, and /SUBJECT qualifiers accept the
optional qualifiers START=n and LENGTH=n. These qualifiers
indicate the starting offset and number of bytes in the field
to consider. The defaults are /CONTENT=(START=1,LENGTH=256),
/ENV_FROM=(START=1,LENGTH=2147483647), and
/SUBJECT=(START=1,LENGTH=2147483647). Use of these qualifiers
is useful when, for example, trying to identify occurrences of a
spam message which uses random text at the start of the Subject:
line.
35.2.18.3 – Command Qualifiers
35.2.18.3.1 /CONTENT
/CONTENT[=offset-specifier]
/ENV_FROM[=offset-specifier]
/SUBJECT[=offset-specifier]
The /CONTENT, /ENV_FROM, and /SUBJECT qualifiers are used to
specify which frequently occurring fields should be displayed. By
default, only Subject: fields are shown (/SUBJECT). Use /ENV_FROM
to display frequent envelope From: fields or /CONTENT to display
frequent message contents. Any combination of /CONTENT, /ENV_
FROM, and /SUBJECT may be specified. However, only one of each
may be used.
The /CONTENT, /ENV_FROM, and /SUBJECT qualifiers accept the
optional qualifiers START=n and LENGTH=n. These qualifiers
indicate the starting offset and number of bytes in the field
to consider. The defaults are /CONTENT=(START=1,LENGTH=256),
/ENV_FROM=(START=1,LENGTH=2147483647), and
/SUBJECT=(START=1,LENGTH=2147483647). Use of these qualifiers
is useful when, for example, trying to identify occurrences of a
spam message which uses random text at the start of the Subject:
line.
35.2.18.3.2 /DATABASE
/DATABASE
/DIRECTORY_TREE
Controls whether the message files scanned are only those with
entries in the queue cache database, /DATABASE, or all message
files actually present in the channel queue directory tree,
/DIRECTORY_TREE.
When neither /DATABASE nor /DIRECTORY_TREE is specified, then the
"view" selected with the VIEW command will be used. If no VIEW
command has been issued, then /DIRECTORY_TREE is assumed.
35.2.18.3.3 /MIN_COUNT
/MIN_COUNT=n
By default, a string must occur at least 2 times, /MIN_COUNT=2,
in order to be displayed.
35.2.18.3.4 /THREADS
/THREADS=n
/NOTHREADS (default)
The /THREADS qualifier may be used to accelerate searching on
multiprocessor systems by dividing the work amongst multiple,
simultaneously running threads. To run n simultaneous searching
threads, specify /THREADS=n. The value n must be an integer in
the range 1-8. The default is /NOTHREADS.
35.2.18.3.5 /TOP
/TOP=n
By default, the top 20 most frequently occurring fields are
shown, (/TOP=20).
35.2.18.3.6 /VERBOSE
/VERBOSE
/NOVERBOSE (default)
The /VERBOSE qualifier may be used to request that the utility
print out information about what it is doing as it operates.
35.2.18.4 – Examples
The following example shows displaying the most frequently
occurring Subject: and envelope From: addresses amongst
messages in the PMDF queue area.
qm.maint> TOP/SUBJECT/ENV_FROM
%QM-I-QCLISTING, building a list of message files to scan from the queue cache
%QM-I-SCANNING, scanning 73 message files
%QM-I-SCANNED, scanned 73 message files in 0.5600 seconds (130.36 messages/secon
d)
Top 20 Envelope From: addresses which occur 2 or more times
Count Envelope From: address
27
10 owner-ex-list@example.com
2 owner-test-list@example.com
Top 20 Subject: header lines which occur 2 or more times
Count Subject
6 Re: your ex-list posting
2 Test posting to test-list
The following example shows displaying the most frequently
occuring Subject: lines that occur 20 times or more, starting
from 12 characters into the Subject: header value. This may be
useful when trying to spot spam that inserts random characters
at the beginning of the Subject: header value.
qm.maint> TOP/SUBJECT=START=12/MIN_COUNT=15
%QM-I-QCLISTING, building a list of message files to scan from the queue cache
%QM-I-SCANNING, scanning 73 message files
%QM-I-SCANNED, scanned 73 message files in 0.5600 seconds (130.36 messages/secon
d)
Top 20 Subject: header lines which occur 15 or more times
Count Subject
25 ake money fast $$$
35.2.19 – VIEW
Control whether the DIRECTORY command shows the channel queue
directory tree or the queue cache database.
Syntax
VIEW type
Command Qualifiers Defaults
None. None.
35.2.19.1 – Parameters
type
The type of view to use: DIRECTORY_TREE or DATABASE
35.2.19.2 – Description
The DIRECTORY command produces its listing by looking at either
the actual channel queue directory tree on disk, or by looking
at the queue cache database. The VIEW command controls which is
used. By default, the view is the channel queue directory tree.
Issue the command,
qm.maint> VIEW DATABASE
qm.maint>
to switch to viewing the queue cache database. The command
qm.maint> VIEW DIRECTORY_TREE
qm.maint>
will switch you back to viewing the channel queue directory tree.
Issuing the VIEW command without any parameter will restore the
default behavior and is thus equivalent to the VIEW DIRECTORY_
TREE command.
36 – QTOP
Display the most frequently occurring envelope From:, Subject:,
or message content fields found in message files in the channel
queues.
Syntax
PMDF QTOP [channel]
Command Qualifiers Defaults
/CONTENT[=offset-specifier] None
/DATABASE /DATABASE
/DIRECTORY_TREE /DATABASE
/ENV_FROM[=offset-specifier] None
/MIN_COUNT=n /MIN_COUNT=2
/SUBJECT[=offset-specifier] /SUBJECT=(START=1,LENGTH=2147483647)
/THREADS=n /NOTHREADS
/TOP=n /TOP=20
/VERBOSE /NOVERBOSE
36.1 – Restrictions
Privileges sufficient to read files in the PMDF channel queue
directory tree, as well as read the PMDF queue cache database,
are required.
36.2 – Parameters
channel
Optional parameter which specifies a specific PMDF channel area
to be scanned for string frequencies. * or ? wildcard characters
may be used in the channel specification.
36.3 – Description
Display the most frequently occurring envelope From:, Subject:,
or message content fields found in message files in the channel
queues. By default, only Subject: fields are shown (/SUBJECT).
Use /ENV_FROM to display frequent envelope From: fields or
/CONTENT to display frequent message contents. Any combination
of /CONTENT, /ENV_FROM, and /SUBJECT may be specified. However,
only one of each may be used.
The optional channel parameter restricts the scan to message
files in the specified channel. The channel parameter may use *
and ? wild cards.
By default, the top 20 most frequently occurring fields are
shown (/TOP=20) provided that they occur 2 or more times (/MIN_
COUNT=2). Use the /TOP and /MIN_COUNT qualifiers to alter this
behavior. Also by default, only message files identified by the
queue cache database are scanned (/DATABASE). Use the /DIRECTORY_
TREE qualifier to instead scan all message files actually present
in the channel queue directory tree.
The /THREADS qualifier may be used to accelerate scanning on
multiprocessor systems by dividing the work amongst multiple,
simultaneously running threads. To run n simultaneous scanning
threads, specify /THREADS=n. The value N must be in the range
1-8. The default is /NOTHREADS.
The /CONTENT, /ENV_FROM, and /SUBJECT qualifiers accept the
optional qualifiers START=n and LENGTH=n. These qualifiers
indicate the starting offset and number of bytes in the field
to consider. The defaults are /CONTENT=(START=1,LENGTH=256),
/ENV_FROM=(START=1,LENGTH=2147483647), and
/SUBJECT=(START=1,LENGTH=2147483647). Use of these qualifiers
is useful when, for example, trying to identify occurrences of a
spam message which uses random text at the start of the Subject:
line.
36.4 – Command Qualifiers
36.4.1 /CONTENT
/CONTENT[=offset-specifier]
/ENV_FROM[=offset-specifier]
/SUBJECT[=offset-specifier]
The /CONTENT, /ENV_FROM, and /SUBJECT qualifiers are used to
specify which frequently occurring fields should be displayed. By
default, only Subject: fields are shown (/SUBJECT). Use /ENV_FROM
to display frequent envelope From: fields or /CONTENT to display
frequent message contents. Any combination of /CONTENT, /ENV_
FROM, and /SUBJECT may be specified. However, only one of each
may be used.
The /CONTENT, /ENV_FROM, and /SUBJECT qualifiers accept the
optional qualifiers START=n and LENGTH=n. These qualifiers
indicate the starting offset and number of bytes in the field
to consider. The defaults are /CONTENT=(START=1,LENGTH=256),
/ENV_FROM=(START=1,LENGTH=2147483647), and
/SUBJECT=(START=1,LENGTH=2147483647). Use of these qualifiers
is useful when, for example, trying to identify occurrences of a
spam message which uses random text at the start of the Subject:
line.
36.4.2 /DATABASE
/DATABASE (default)
/DIRECTORY_TREE
The /DATABASE qualifier, the default, specifies that only message
files identified by the queue cache database be searched. Use
the /DIRECTORY_TREE qualifier to instead search all message files
actually present in the channel queue directory tree.
36.4.3 /MIN_COUNT
/MIN_COUNT=n
By default, a string must occur at least 2 times, /MIN_COUNT=2,
in order to be displayed.
36.4.4 /THREADS
/THREADS=n
/NOTHREADS (default)
The /THREADS qualifier may be used to accelerate searching on
multiprocessor systems by dividing the work amongst multiple,
simultaneously running threads. To run n simultaneous searching
threads, specify /THREADS=n. The value n must be an integer in
the range 1-8. The default is /NOTHREADS.
36.4.5 /TOP
/TOP=n
By default, the top 20 most frequently occurring fields are
shown, (/TOP=20).
36.4.6 /VERBOSE
/VERBOSE
/NOVERBOSE (default)
The /VERBOSE qualifier may be used to request that the utility
print out information about what it is doing as it operates.
36.5 – Examples
The following example shows displaying the most frequently
occurring Subject: and envelope From: addresses amongst
messages in the PMDF queue area.
$ PMDF QTOP/SUBJECT/ENV_FROM
%QM-I-QCLISTING, building a list of message files to scan from the queue cache
%QM-I-SCANNING, scanning 73 message files
%QM-I-SCANNED, scanned 73 message files in 0.5600 seconds (130.36 messages/secon
d)
Top 20 Envelope From: addresses which occur 2 or more times
Count Envelope From: address
27
10 owner-ex-list@example.com
2 owner-test-list@example.com
Top 20 Subject: header lines which occur 2 or more times
Count Subject
6 Re: your ex-list posting
2 Test posting to test-list
The following example shows displaying the most frequently
occuring Subject: lines that occur 20 times or more, starting
from 12 characters into the Subject: header value. This may be
useful when trying to spot spam that inserts random characters
at the beginning of the SUBJECT: header value.
$ PMDF QTOP/SUBJECT=START=12/MIN_COUNT=15
%QM-I-QCLISTING, building a list of message files to scan from the queue cache
%QM-I-SCANNING, scanning 73 message files
%QM-I-SCANNED, scanned 73 message files in 0.5600 seconds (130.36 messages/secon
d)
Top 20 Subject: header lines which occur 15 or more times
Count Subject
25 ake money fast $$$
37 – RESTART
Restart detached PMDF processes.
Syntax
PMDF RESTART [component]
Command Qualifiers Defaults
/CLUSTER /NODE
/NODE[=node] /NODE
/ID=pid /NODE
37.1 – Restrictions
SYSLCK privilege is required to restart detached PMDF processes.
37.2 – Prompts
Comcomponent
37.3 – Parameters
component
Optional parameter which specifies a specific PMDF component
to be restarted, such as BN_SLAVE, CIRCUIT_CHECK, COUNTERS,
DISPATCHER, FAX_RECEIVE, HTTP, IMAP (which restarts both the
system mailbox server and the PMDF MessageStore mailbox server),
IMAP_SERVER (the PMDF MessageStore server), POP_SERVER (the
PMDF MessageStore server), POP3 (which restarts both the system
mailbox server and PMDF MessageStore server), POPPASSD, SMTP,
or any other Dispatcher service such as the names of PMDF-XGS
servers, PMDF-LAN Lotus Notes servers, or PMDF-DIRSYNC Lotus
Notes directory agent servers. Note that restarting the PMDF
Service Dispatcher, i.e., the DISPATCHER component, effectively
restarts all the service components it handles, which may include
HTTP, IMAP, IMAP_SERVER, POP_SERVER, POP3, POPPASSD, SMTP, PMDF-
XGS, PMDF-LAN, and PMDF-DIRSYNC servers. If no component name is
given then all active components will be restarted.
37.4 – Description
Detached PMDF processes should be restarted whenever the PMDF
configuration is altered-these processes load information from
the configuration once only and need to be restarted in order for
configuration changes to become visible to them.
The RESTART utility is used to restart detached PMDF processes.
The default is to restart processes on the node on which the
command is executed. Use the /NODE qualifier with a specific
node name to affect processes on a different node in the cluster;
use the /CLUSTER qualifier to restart PMDF processes across the
cluster; use the /ID qualifier to affect only a single process
in the cluster. If no component parameter is specified, then all
detached processes (including processes which use the PMDF API
PMDF_SET_CALL_BACK procedure) will be restarted. If a component
parameter is specified, then only detached processes associated
with that component will be restarted. The standard component
names are
Component Description
BN_SLAVE Detached processes which act as the Jnet Local Mail
Delivery (LMD) daemon. Handles incoming local BITNET
mail.
CIRCUIT_ Detached process which monitors loopback message
CHECK delivery.
COUNTERS Detached processes which synchronize the channel
counters.
DISPATCHER PMDF multithreaded Service Dispatcher handling
services such as SMTP, POP, IMAP, and HTTP servers.
FAX_ Detached processes which process incoming FAXes.
RECEIVE
HTTP HTTP server processes.
IMAP This restarts both IMAP server processes serving out
system mailboxes, and IMAP server processes serving
out PMDF MessageStore mailboxes.
IMAP_ IMAP server processes serving out PMDF MessageStores
SERVER mailboxes.
POP_ PMDF MessageStore POP3 server processes; that is,
SERVER the processes serving out PMDF MessageStore and PMDF
popstore mailboxes.
POP3 This restarts both POP3 server processes serving out
system mailboxes, and POP3 server processes serving
out PMDF MessageStore and PMDF popstore mailboxes.
POPPASSD POPPASSD server processes.
SMTP SMTP server processes.
Detached PMDF processes will restart as soon as is convenient.
They restart by performing an orderly shutdown, exiting the image
they are running, starting a new detached process running, and
then exiting.
If there are no currently running process associated with a given
component, then that component will not be restarted.
37.5 – Command Qualifiers
37.5.1 /CLUSTER
When the /CLUSTER qualifier is specified, the RESTART command
will affect all nodes in the cluster.
37.5.2 /NODE
/NODE[=node]
By default, the RESTART command affects only processes on the
node on which the command is executed; this corresponds to
specifying the /NODE qualifier without the optional node name
value. To restart processes on a different node, specify the node
name. The node name must be the SCS cluster node name.
37.5.3 /ID
/ID=pid
When the /ID qualifier is specified, only the process with the
given process id (pid) is affected. Note that process id's are
unique cluster wide and as such there is no need to also specify
/NODE.
37.6 – Examples
To restart cluster-wide all detached processes, simply use the
command
$ PMDF RESTART/CLUSTER
To only restart, for instance, IMAP and POP3 servers on the
current node, use the commands
$ PMDF RESTART IMAP
$ PMDF RESTART POP3
37.7 – Error messages
SYSTEM-F-TIMEOUT, device timeout
After waiting two minutes for the component(s) in question
to acknowledge the restart request, the PMDF RESTART utility
returns control to the command line. The restart request
is still outstanding and should be honored by the PMDF
component(s) for which the command was issued; the utility
has just given up waiting for the component(s) to immediately
acknowledge the request as it (they) may be busy with existing
activity.
38 – RETURN
Return (bounce) a mail message to its originator.
Syntax
PMDF RETURN message-file-spec
Command Qualifiers Defaults
None. None.
38.1 – Restrictions
Postmaster privileges (write access to the PMDF channel queues)
are required to use this utility.
38.2 – Parameters
message-file-spec
File specification of the message file to return. The
specification may include wildcards.
38.3 – Description
The RETURN utility returns a message to the message's originator.
The returned message is in two parts. The first part explains
the reason why the message is being returned; the text of the
reason is contained in the file RETURN_BOUNCED.TXT file located
in the PMDF language-specific directory. The second part of the
returned message contains the original message itself. Postmaster
privileges (write access to the PMDF channel queues) are required
to use this utility.
39 – SEND
Sends a mail message using PMDF.
39.1 – Restrictions
None.
Syntax
PMDF SEND message-file-spec[,...] recipient-address[,...]
Qualifiers Defaults
/ABORT See text
/COMMENTS=comment None
/DELIVERY_RECEIPT_TO None
/ERRORS_TO=address None
/EXPAND_LIMIT=limit None
/EXTRA=header_line None
/FAX See text
/FROM=address See text
/HEADERS /NOHEADERS
/IGNORE See text
/IMPORTANCE=importance None
/KEYWORDS=keywords None
/LOG=log-list /NOLOG
/MULTIPART None
/ORGANIZATION=organization None
/PRIORITY=priority None
/READ_RECEIPT_TO None
/REFERENCES=references None
/REPLY_TO=address None
/RETURN_ADDRESS=address See text
/RFROM=address None
/RREPLY_TO=address None
/SENSITIVITY=sensitivity None
/SUBADDRESS=subaddress None
/SUBJECT=subject None
/USER=username See text
/WARNINGS_TO=address None
/X_PS_QUALIFIERS=qualifiers None
Positional Qualifiers Defaults
/BCC /TO
/CC /TO
/ENCODING=encoding See text
/FILENAME=name /NOFILENAME
/MODE=mode /MODE=TEXT
/TO /TO
39.2 – Prompts
Message file: message-file-spec[,...]
Address: recipient-address[,...]
39.3 – Parameters
message-file-spec[,...]
One or more files to comprise the message; wildcards are not
allowed. Each file is included in the mail message as a separate
part.
recipient-address
The recipients who are to receive copies of the message. Standard
RFC 822 format addresses must be used. Quoting might be needed to
preserve case and special characters. This parameter is optional
when the /FAX qualifier is used.
39.4 – Description
The SEND utility provides a simple easy-to-use interface to PMDF
for sending messages.
39.5 – Qualifiers
39.5.1 /ABORT
By default, if an error occurs while processing an input message
file or recipient address, PMDF SEND will ask the user whether
or not to send the message anyhow. If the /ABORT qualifier is
specified, then PMDF SEND will merely exit (with an error) when a
problem occurs during file or address processing.
The /ABORT and /IGNORE qualifiers are mutually exclusive - only
one or the other can be used.
39.5.2 /BCC
Positional parameter which can be used to specify that the given
recipient address, and subsequent recipient addresses, should be
treated as Bcc: addresses. By default, recipient addresses are
interpreted as To: addresses.
39.5.3 /CC
Positional parameter which can be used to specify that the given
recipient address, and subsequent recipient addresses, should
be treated as Cc: addresses. By default, recipient addresses are
interpreted as To: addresses.
39.5.4 /COMMENTS
/COMMENTS=comments
This qualifier can be used to specify the contents of the
Comments: header line. If this qualifier is not used, any
existing Comments: header line is used; if none exists no
Comments: header line will appear in the outgoing message unless
the PMDF_COMMENTS logical is defined.
39.5.5 /DELIVERY_RECEIPT_TO
/DELIVERY_RECEIPT_TO=address
This qualifier can be used to specify the contents of the
Delivery-receipt-to: header line. If this qualifier is not used,
any existing Delivery-receipt-to: header line is used; if none
exists, no Delivery-receipt-to: header line will appear in the
outgoing message.
39.5.6 /ENCODING
/ENCODING=encoding
Specify the encoding method to use to encode an input message
file. Normally, no encoding is used; however, this depends upon
the file type as determined by the file extension. The available
encoding methods are BASE32, BASE64, CBASE64 (compressed base64),
BASE85, BINHEX, BTOA HEXADECIMAL, PATHWORKS, QUOTED_PRINTABLE,
UUENCODE, and CUUENCODE (compressed UUENCODE). No encoding can be
specified for a file containing header information (/HEADERS).
39.5.7 /ERRORS_TO
/ERRORS_TO=address
This qualifier can be used to specify the contents of the Errors-
to: header line. If this qualifier is not used, any existing
Errors-to: header line is used; if none exists no Errors-to:
header line will appear in the outgoing message unless the PMDF_
ERRORS_TO logical is defined.
39.5.8 /EXPAND_LIMIT
/EXPAND_LIMIT=limit
If, during the process of expanding the message's recipient
addresses, the count of recipients exceeds the specified limit
then the address expansion will be deferred. PMDF SEND will
expand the addresses "off-line" so that the user need not wait.
39.5.9 /EXTRA
/EXTRA=header_line
Additional header lines can be specified with the /EXTRA
qualifier. Specify the entire text of the header line; e.g.,
/EXTRA="X-Sign: Aquarius". Multiple header lines should be
specified using the format /EXTRA=(hdr1,hdr2,...).
39.5.10 /FAX
When the /FAX qualifier is specified, the pop-up FAX addressing
form is invoked. The message being sent will be sent to the
addresses specified via pop-up form as well as any additional
addresses specified with the recipient address parameter.
39.5.11 /FILENAME
/FILENAME=name
/NOFILENAME (default)
This positional qualifier, when specified, causes the name of
the input file to be included as a parameter to the associated
MIME Content-type: header line. You can specify the name to be
included in the header line, or if you do not specify a name, by
default the name of the input file will be used.
39.5.12 /FROM
/FROM=address
This qualifier can be used to specify the contents of the From:
header line. If this qualifier is not used, any existing From:
header line is used; if none exists and the PMDF_FROM logical is
not defined, then a From: header line will be constructed from
the username of the user invoking SEND and from the local host
name. Note that even if a From: address is provided your address
will appear in a Sender: header line.
39.5.13 /HEADERS
/HEADERS
/NOHEADERS (default)
The input message is assumed to have no header attached to it
by default. The /HEADERS qualifier tells SEND that a header is
already attached to the message; it is modified and used to form
the header for the message that is actually sent.
39.5.14 /IGNORE
By default, if an error occurs while processing an input message
file or recipient address, PMDF SEND will ask the user whether
or not to send the message anyhow. If the /IGNORE qualifier is
specified, then PMDF SEND will not ask the user whether or not to
send the message - it will send the good input files to the good
recipient addresses.
The /ABORT and /IGNORE qualifiers are mutually exclusive - only
one or the other can be used.
39.5.15 /IMPORTANCE
/IMPORTANCE=importance
This qualifier can be used to specify the contents of the
Importance: header line. If this qualifier is not used, any
existing Importance: header line is used; if none exists no
Importance: header line will appear in the outgoing message
unless the PMDF_IMPORTANCE logical is defined.
39.5.16 /KEYWORDS
/KEYWORDS=keywords
This qualifier can be used to specify the contents of the
Keywords: header line. If this qualifier is not used, any
existing Keywords: header line is used; if none exists no
Keywords: header line will appear in the outgoing message unless
the PMDF_KEYWORDS logical is defined.
39.5.17 /LOG
/LOG=log-list
Specify what sort of informational message PMDF SEND should
issue. The log-list is a list of zero or more of the following:
NONE, ADDRESSES, FILES, MESSAGES, IDS, or ALL. NONE indicates no
logging, is equivalent to /NOLOG, and is the default. ADDRESSES
causes one informational message to be output for each specified
recipient address. FILES causes one information message to be
output for each input file. MESSAGES produces a summary message
that indicates how many addresses and files were processed
successfully. IDS produces an informational message showing the
contents of the Message-Id: header of the resulting message.
ALL activates all forms of logging; it cannot be specified
simultaneously with NONE. /LOG=MESSAGES is the default if /LOG
is specified without an explicit log-list.
39.5.18 /MODE
/MODE=mode
Specify the file access mode to use when reading an input message
file. By default, input files are read in text mode. The access
modes are TEXT, RECORD, CRATTRIBUTE, LFATTRIBUTE, CRLFATTRIBUTE,
and BLOCK. A file containing header information must be accessed
using TEXT mode.
39.5.19 /MULTIPART
This qualifier may be used to tell PMDF SEND to always format the
messages it sends as multipart MIME messages.
39.5.20 /ORGANIZATION
/ORGANIZATION=organization
This qualifier can be used to specify the contents of the
Organization: header line. This qualifier is ignored if an
Organization: header line is already present. If this qualifier
is not specified or negated no Organization: header line is added
unless the PMDF_ORGANIZATION logical is defined.
39.5.21 /PRIORITY
/PRIORITY=priority
This qualifier can be used to specify the contents of the
Priority: header line. If this qualifier is not used, any
existing Priority: header line is used; if none exists no
Priority: header line will appear in the outgoing message.
39.5.22 /READ_RECEIPT_TO
/READ_RECEIPT_TO=address
This qualifier can be used to specify the contents of the Read-
receipt-to: header line. If this qualifier is not used, any
existing Read-receipt-to: header line is used; if none exists, no
Read-receipt-to: header line will appear in the outgoing message.
39.5.23 /REFERENCES
/REFERENCES=references
This qualifier can be used to specify the contents of the
References: header line. If this qualifier is not used, any
existing References: header line is used; if none exists no
References: header line will appear in the outgoing message
unless the PMDF_REFERENCES logical is defined.
39.5.24 /REPLY_TO
/REPLY_TO=address
This qualifier can be used to specify the contents of the Reply-
to: header line. If this qualifier is not used, any existing
Reply-to: header line is used; if none exists no Reply-to: header
line will appear in the outgoing message unless the PMDF_REPLY_TO
logical is defined.
39.5.25 /RETURN_ADDRESS
/RETURN_ADDRESS=address
Specify the address to be used as the envelope originator
address. If the message is returned as undeliverable by the mail
system transport the nondelivery notice is normally sent to this
address.
39.5.26 /RFROM
/RFROM=address
This qualifier can be used to specify the contents of the Resent-
From: header line. If this qualifier is not used, any existing
Resent-From: header line is used; if no such header line exists
no Resent-From: header line will be attached to the outgoing
message.
39.5.27 /RREPLY_TO
/RREPLY_TO=address
This qualifier can be used to specify the contents of the
Resent-Reply-to: header line. If this qualifier is not used, any
existing Resent-Reply-to: header line is used; if no such header
line exists no Resent-Reply-to: header line will be attached to
the outgoing message.
39.5.28 /SENSITIVITY
/SENSITIVITY=sensitivity
This qualifier can be used to specify the contents of the
Sensitivity: header line. If this qualifier is not used, any
existing Sensitivity: header line is used; if none exists no
Sensitivity: header line will appear in the outgoing message
unless the PMDF_SENSITIVITY logical is defined.
39.5.29 /SUBADDRESS
/SUBADDRESS=subaddress
Specify a subaddress to attach to the envelope From: address;
e.g., if the envelope From: address is rex@example.com then
specifying /SUBADDRESS="Postmaster" would result in the envelope
From: address rex+Postmaster@example.com.
39.5.30 /SUBJECT
/SUBJECT=subject
This qualifier can be used to specify the contents of the
Subject: header line. If this qualifier is not used, any existing
Subject: header line is used; if none exists no Subject: header
line will appear in the outgoing message.
39.5.31 /TO
Positional parameter which can be used to specify that a given
recipient address should be treated as a To: address, which is
the default interpretation.
39.5.32 /USER
/USER=username
Specify the local username to use in the message sender's
address; (this will be the From: address if no other From:
address is given and the Sender: address otherwise). You must
either have WORLD privilege or hold the PMDF_WORLD or PMDF_WORLD_
username rightslist identifier in order to use this qualifier
and specify a username other than your own. The special case of a
blank string will not insert any Sender: information.
39.5.33 /WARNINGS_TO
/WARNINGS_TO=address
This qualifier can be used to specify the contents of the
Warnings-to: header line. If this qualifier is not used, any
existing Warnings-to: header line is used; if none exists no
Warnings-to: header line will appear in the outgoing message
unless the PMDF_WARNINGS_TO logical is defined.
39.5.34 /X_PS_QUALIFIERS
/X_PS_QUALIFIERS=qualifiers
This qualifier can be used to specify the contents of the X-
ps-qualifiers: header line. If this qualifier is not used, any
existing X-ps-qualifiers: header line is used; if none exists no
X-ps-qualifiers: header line will appear in the outgoing message
unless the PMDF_X_PS_QUALIFIERS logical is defined.
39.6 – Examples
1.$ PMDF SEND/SUBJECT="Test message" MSG.TXT "BOB@EXAMPLE.COM"
This command will send as a mail message the contents of the
file MSG.TXT to the address BOB@EXAMPLE.COM. The Subject: line
of the message will read "Subject: Test message".
2.$ PMDF SEND/SUBJECT="Test message" -
_$ /EXTRA=("X-Favorite-Drink: Hot chocolate",-
_$ "X-IQ: 20/20") MSG.TXT "BOB@EXAMPLE.COM"
Send a message to BOB@EXAMPLE.COM with the header lines
Subject: Test message
X-Favorite-Drink: Hot chocolate
X-IQ: 20/20
(Of course, these will not be the only header lines present.)
3.$ PMDF SEND/HEADERS MSG.TXT "BOB@EXAMPLE.COM"
Send a message to BOB@EXAMPLE.COM. By using the /HEADERS
qualifier, MSG.TXT is assumed to already contain the headers
for the message as well as the body.
40 – SHUTDOWN
Shut down detached PMDF processes.
Syntax
PMDF SHUTDOWN [component]
Command Qualifiers Defaults
/CLUSTER /NODE
/NODE[=node] /NODE
/ID=pid /NODE
40.1 – Restrictions
SYSLCK privilege is required to shut down detached PMDF
processes.
40.2 – Prompts
Comcomponent
40.3 – Parameters
component
Optional parameter which specifies a specific PMDF component
to be shut down: DISPATCHER (which effectively shuts down
all components handled by the PMDF Service Dispatcher), BN_
SLAVE, CIRCUIT_CHECK, COUNTERS, FAX_RECEIVE, HTTP, IMAP (which
shuts down both the system mailbox IMAP server and the PMDF
MessageStore mailbox server), IMAP_SERVER (which shuts down the
PMDF MessageStore mailbox server), POP_SERVER (which shuts down
the PMDF MessageStore mailbox server), POP3 (which shuts down
the system mailbox POP server and the PMDF MessageStore mailbox
server), POPPASSD, SMTP, or the name of any Dispatcher service
(as defined in the Dispatcher configuration file) such as those
for PMDF-XGS, PMDF-LAN Lotus Notes, or PMDF-DIRSYNC Lotus Notes
servers. If no component name is given then all active components
will be shut down.
40.4 – Description
The SHUTDOWN utility is used to shut down detached PMDF
processes. The default is to shut down processes on the node
on which the command is executed. Use the /NODE qualifier with
a specific node name to shut down processes on a different node
in the cluster; use the /CLUSTER qualifier to shut down detached
PMDF processes cluster wide. For the FAX_RECEIVE process, the
/ID qualifier may be used to affect only a single process in
the cluster. If no component parameter is specified, then all
detached processes (including processes which use the PMDF API
PMDF_SET_CALL_BACK procedure) will be shutdown. If a component
parameter is specified, then only detached processes associated
with that component will be shut down. The standard component
names are
Component Description
BN_SLAVE Detached processes which act as the Jnet Local Mail
Delivery (LMD) daemon. Handles incoming local BITNET
mail.
CIRCUIT_ Detached process which monitors loopback message
CHECK delivery.
COUNTERS Detached processes which synchronize the channel
counters.
DISPATCHER Multithreaded Service Dispatcher.
FAX_ Detached processes which process incoming FAXes.
RECEIVE
HTTP HTTP server processes.
IMAP This shuts down both IMAP server processes serving out
system mailboxes, and IMAP server processes serving
out PMDF MessageStore mailboxes.
IMAP_ IMAP server processes serving out PMDF MessageStore
SERVER mailboxes.
POP_ PMDF MessageStore POP3 server processes; that is,
SERVER the processes serving out PMDF MessageStore and PMDF
popstore mailboxes.
POP3 This shuts down both POP3 server processes serving out
system mailboxes, and POP3 server processes serving
out PMDF MessageStore and PMDF popstore mailboxes.
POPPASSD POPPASSD server processes.
SMTP SMTP server processes.
In addition, any Dispatcher service may be specified by name
(that name used in the Dispatcher configuration file) such as
PMDF-XGS, PMDF-LAN Lotus Notes, or PMDF-DIRSYNC Lotus Notes
servers.
Detached PMDF processes will shutdown as soon as is convenient
for the process to do so. They do so by performing an orderly
shutdown, exiting the image they are running, and then exiting
the process.
Note that in the case of BN_SLAVE, no Local Mail Delivery (LMD)
daemon is left running, not even the default Jnet daemon.
40.5 – Command Qualifiers
40.5.1 /CLUSTER
When the /CLUSTER qualifier is specified, the SHUTDOWN command
will affect all nodes in the cluster.
40.5.2 /NODE
/NODE[=node]
By default, the SHUTDOWN command affects only processes on the
node on which the command is executed; this corresponds to
specifying the /NODE qualifier without the optional node name
value. To shut down processes on a different node, specify the
node name. The node name must be the SCS cluster node name.
40.5.3 /ID
/ID=pid
For a FAX_RECEIVE process, the /ID qualifier may be used to
specify that only the FAX_RECEIVE process with the given process
id (pid) is to be affected. The /ID qualifier is only valid
for FAX_RECEIVE; it is not valid for other processes such as
Dispatcher services. Note that process id's are unique cluster
wide and as such there is no need to also specify /NODE.
40.6 – Examples
To shutdown cluster-wide all detached processes, simply use the
command
$ PMDF SHUTDOWN/CLUSTER
To only shutdown, for instance, IMAP and POP3 servers on the
current node, use the commands
$ PMDF SHUTDOWN IMAP
$ PMDF SHUTDOWN POP3
40.7 – Error messages
SYSTEM-F-TIMEOUT, device timeout
After waiting two minutes for the component(s) in question to
acknowledge the shutdown request, the PMDF SHUTDOWN utility
returns control to the command line. The shutdown request
is still outstanding and should be honored by the PMDF
component(s) for which the command was issued; the utility
has just given up waiting for the component(s) to immediately
acknowledge the request as it (they) may be busy with existing
activity.
41 – STARTUP
Start up detached PMDF processes.
Syntax
PMDF STARTUP component
Command Qualifiers Defaults
None. None.
41.1 – Restrictions
SYSLCK privilege is required to start up detached PMDF processes.
41.2 – Prompts
Comcomponent
41.3 – Parameters
component
Required parameter which specifies a specific PMDF component to
be started: DISPATCHER (which effectively starts all components
handled by the PMDF Service Dispatcher), CIRCUIT_CHECK, COUNTERS,
FAX_RECEIVE.
41.4 – Description
The STARTUP utility is used to start up detached PMDF processes
such as the PMDF Service Dispatcher, or specific service
processes such as FAX_RECEIVE. The standard component names are
Component Description
CIRCUIT_ Detached process which monitors loopback message
CHECK timings.
COUNTERS Detached processes which synchronize the channel
counters.
DISPATCHER Multithreaded Service Dispatcher.
FAX_ Detached processes which process incoming FAXes.
RECEIVE
Note the services handled by the PMDF multithreaded Service
Dispatcher must be started by starting the PMDF Service
Dispatcher; only services not being handled by the PMDF Service
Dispatcher can be individually started via the PMDF STARTUP
utility. The Service Dispatcher may be configured to handle
various services, e.g., and the multithreaded HTTP, IMAP (the
system mailbox IMAP server), IMAP_SERVER (the PMDF MessageStore
mailbox server), POP_SERVER (the PMDF MessageStore mailbox
server), POP3 (the system mailbox POP server), POPPASSD, and
SMTP servers. See the PMDF System Manager's Guide for details.
41.5 – Examples
The following command starts the PMDF Service Dispatcher:
$ PMDF STARTUP DISPATCHER
42 – TEST
PMDF includes a number of test utilities, including utilities
for testing general address rewriting and access control (PMDF
TEST/REWRITE), testing low level PMDF mappings and pattern
matching (PMDF TEST/MAPPING and PMDF TEST/MATCH), and for a
variety of channel specific applications.
42.1 /CC
Test cc:Mail channel address transformations.
Syntax
PMDF TEST/CC [test-address|test-time]
Command Qualifiers Defaults
/822TOLAN /822TOLAN
/BACKWARD /FORWARD
/CHANNEL=channel-name /CHANNEL=cc_local
/DEBUG /NODEBUG
/ENVELOPE /HEADER
/FORWARD /FORWARD
/HEADER /HEADER
/LANTO822 /822TOLAN
/TIME See text
42.1.1 – Restrictions
This utility is supplied only with the PMDF-LAN optional layered
product.
42.1.2 – Prompts
Address: test-address
Time: test-time
42.1.3 – Parameters
test-address
Optional address to test.
test-time
Optional time to test.
42.1.4 – Description
Test a cc:Mail channel's transformation of an address or time.
42.1.5 – Command Qualifiers
42.1.5.1 /822TOLAN
/822TOLAN (default)
/LANTO822
The testing process can test conversion of RFC 822 addresses to
cc:Mail format, /822TOLAN, or test conversion of cc:Mail format
addresses to RFC 822 format, /LANTO822.
42.1.5.2 /BACKWARD
/BACKWARD
/FORWARD (default)
The testing process can test conversion of backwards or forwards
pointing addresses; the default is forward pointing addresses.
42.1.5.3 /CHANNEL
/CHANNEL=channel-name
Different cc:Mail channels may be configured to perform different
transformations. If this qualifier is not specified, the default
is to test the cc_local channel.
42.1.5.4 /DEBUG
/DEBUG
/NODEBUG (default)
The testing process is capable of producing detailed processing
information. The /DEBUG qualifier enables this output; it is
disabled by default.
42.1.5.5 /ENVELOPE
/ENVELOPE
/HEADER (default)
The testing process can test envelope or header addresses; the
default is header addresses.
42.1.5.6 /TIME
The testing process by default tests address transformations, but
the /TIME qualifier specifies that it should instead test time
transformations.
42.1.6 – Examples
$ PMDF TEST/CC adam@ccmail.examle.com
ADAM
$ PMDF TEST/CC postmaster@example.com
POSTMASTER at PMDF
$ PMDF TEST/CC service@example.com
SERVICE@EXAMPLE.COM at PMDF
This example shows testing a cc_local channel's transformation
of several addresses. The output shown corresponds to a cc_
local channel with official host name ccmail.example.com and
channel option CC_GATEWAY_NAME=PMDF, and where the site has
example.com as the official local host name.
42.2 /CHANNEL
42.2.1 – X400
Test X.400 channel connection.
Syntax
PMDF TEST/CHANNEL X400
Command Qualifiers Defaults
/MTA=mta-id See text
/TRANSFER=file-spec See text
42.2.1.1 – Restrictions
This utility is supplied only with the PMDF-X400 optional layered
product.
42.2.1.2 – Parameters
X400
The string parameter X400 is required.
42.2.1.3 – Description
The PMDF TEST/CHANNEL X400 utility can be used to test the
configuration of the X400_LOCAL channel and verify that it can
successfully connect to the remote MTA. Network configuration
errors and validation problems will be reported by the utility.
Any file can be specified for transfer via the /TRANSFER
qualifier. However, if the file does not contain P1/P2/P22
information valid to the remote X.400 MTA, then the behavior
is undefined. Some X.400 MTAs, such as PMDF-X400 and HP's Message
Router X.400 Gateway, MRX, will accept any data and generate an
error at a later stage in processing. Other MTAs, such as PP and
EAN will abort the network connection as soon as they detect that
the incoming data is invalid.
If PMDF TEST/CHANNEL X400 does not complete the connection
successfully, it will indicate whether it is having trouble
making the network connection itself or the network connection
is rejected due to validation failure. If the former, make sure
that the remote TSAP address is correctly specified for this MTA.
If the latter, then check the MTA names and passwords. Remember
that each MTA validates the name and password sent by the other
MTA. Both sides of the connection must pass validation or the
connection will be terminated with a validation failure error.
Log or trace information on the remote MTA can prove invaluable
when tracing validation failures or problems with messages being
rejected.
An additional level of detail, showing every I/O operation as
well as every byte of data sent and received on the network
connection, can be enabled by defining the logical name PMDF_
UNIXLIB_TRACE before running PMDF TEST/CHANNEL X400. The
equivalence value for the logical name may be a filename or the
reserved word "TTY". In the latter case, trace output will be
directed to the process's SYS$OUTPUT. For example:
$ DEFINE PMDF_UNIXLIB_TRACE TTY
followed by a PMDF TEST/CHANNEL X400 command will result in all
of the test output as well as a complete trace of all data sent
and received. The additional level of detail afforded by I/O
tracing may be required should you need to work with Process
Software support personnel to solve a problem.
42.2.1.4 – Command Qualifiers
42.2.1.4.1 /MTA
/MTA=mta-id
Specifies the MTA to connect to when PMDF-X400 is configured for
more than one remote MTA. This qualifier is only applicable when
PMDF-X400 has been configured to support more than one remote
MTA. The mta-id value must be an MTA identification as defined in
the X400-MTAID database. Note that in a single MTA configuration,
as generated by the PMDF CONFIGURE X400 utility, there is no MTA
identification nor X400-MTAID database.
42.2.1.4.2 /TRANSFER
/TRANSFER=file-spec
Use RTS to transfer the specified file, file-spec. If no file is
given it will default to NLA0: and transfer 0 bytes of data. Note
that transferring 0 bytes of data by specifying /TRANSFER is not
the same as transferring nothing, which is the behavior when this
qualifier is not present.
42.2.1.5 – Examples
$ PMDF TEST/CHANNEL X400
23:12:57.74: RTS rts_send: initializing
23:12:57.85: RTS Transfer mode is NORMAL 1988
23:12:57.85: RTS rts_send: preparing for RTS transfer to MTA
23:12:57.85: RTS rts_send: found cached connection, slot = 0
23:12:57.85: RTS rts_
send: no cached connection, opening new connection
23:12:57.85: RTS88 Local host is NAPLES.EXAMPLE.COM
23:12:57.85: RTS88 Connecting to "MTA"/"MTA"/"X400-88"
/Internet=OTHERMTA.EXAMPLE.COM
23:12:57.85: RTS88.Request user-data: MTA-
NAME [MyMTA] PASSWORD [secret]
23:12:57.89: RTS88 Called presentation address: "MTA"/"MTA"/"X400-
88"
/Internet=12.34.56.78
23:12:57.90: RTS88 Calling presentation address: "MTA"/"MTA"/"PMDF-
X400"/
23:12:58.55: RTS.Response user-data: MTA-
NAME [OtherMTA] PASSWORD []
23:12:58.55: RTS rts_send: Connection successful sd = 4
23:12:58.57: RTS rts_send: new connection cached, slot = 0
23:12:58.57: X400 TEST: RTS test successful!
23:12:58.57: RTS rts_disconnect_all
23:12:58.57: RTS disconnecting slot 0
23:12:58.57: RTS88 rts88_disconnect: closing sd 4
23:12:58.57: RTS88.CloseRequest
This example shows testing an outgoing X.400 connection for a
configuration with an PMDF_TABLE:X400_LOCAL_OPTION. file of:
MODE=1988-NORMAL
LOCAL_MTANAME="MyMTA"
LOCAL_PASSWORD="secret"
LOCAL_ADDR="MTA"/"MTA"/"PMDF-X400"
REMOTE_MTANAME="OtherMTA"
REMOTE_PASSWORD=""
REMOTE_ADDR="MTA"/"MTA"/"X400-88"/Internet=OTHERMTA.EXAMPLE.COM
42.3 /FAX_ROUTING
Test the effect on DATA_TO_BITMAP channel processing options of
FAX routing mappings.
Syntax
PMDF TEST/FAX_ROUTING [routing]
Command Qualifiers Defaults
/DEBUG /NODEBUG
/IMAGE_FILE=file-spec /IMAGE_FILE=PMDF_CONFIG_DATA
/MAPPING_FILE=file-spec /MAPPING_FILE=PMDF_MAPPING_FILE
42.3.1 – Restrictions
This utility is supplied only with the PMDF-FAX optional layered
product.
42.3.2 – Prompts
Routing: routing
42.3.3 – Parameters
routing
Optional routing to test.
42.3.4 – Description
TEST/FAX_ROUTING may be used to test entries in the FAX_ROUTING
mapping tables used by the DATA_TO_BITMAP channel of PMDF-FAX.
These entries are used to alter, on a per received FAX basis, the
processing options used by that channel.
The specified routing will be looked up in the FAX_ROUTING
mapping table and, if found, the mapping result-a list of
processing options for the DATA_TO_BITMAP channel-will be parsed.
If a routing is specified on the command line, TEST/FAX_ROUTING
acts upon the specified routing and then exits. If no routing is
specified on the command line, then TEST/FAX_ROUTING will prompt
for routings until a CTRL/Z is entered.
42.3.5 – Command Qualifiers
42.3.5.1 /DEBUG
/DEBUG
/NODEBUG (default)
The testing process is capable of producing detailed processing
information. The /DEBUG qualifier enables this output; it is
disabled by default.
42.3.5.2 /IMAGE_FILE
/IMAGE_FILE[=filename]
/NOIMAGE_FILE
The /IMAGE_FILE qualifier serves two purposes. The first is when
/NOIMAGE_FILE is specified; this instructs TEST/FAX_ROUTING to
ignore any compiled configuration unconditionally and to read
configuration information from the various text files instead.
When the /IMAGE_FILE qualifier is specified without an optional
file name, PMDF TEST/FAX_ROUTING will load the compiled
configuration from the file PMDF_CONFIG_DATA. If, instead, a
file name is specified then PMDF TEST/FAX_ROUTING will load the
compiled configuration from the specified file.
42.3.5.3 /MAPPING_FILE
/MAPPING_FILE=filename
TEST/FAX_ROUTING normally consults the default mapping file,
PMDF_MAPPING_FILE, during processing. The /MAPPING_FILE qualifier
specifies an alternate file to use in place of PMDF_MAPPING_FILE.
This qualifier has no effect unless /NOIMAGE_FILE is specified
or no compiled configuration exists; use of any compiled
configuration will preclude reading any sort of mapping file.
42.3.6 – Examples
The FAX_ROUTING table entry,
6215319 /OUTPUT_AS=EMAIL/OUTPUT_FORMAT=DDIF/TO=dan@example/
may be tested with this utility:
$ PMDF TEST/FAX_ROUTING 6215319
Processing options:
OUTPUT_FORMAT = DDIF
PAGE_MAGNIFICATION = 0.95
OUTPUT_AS = EMAIL
TO = dan@example
SAVE_INPUT = FALSE
42.4 /FF
Test MS Mail channel address transformations.
Syntax
PMDF TEST/FF [test-address|test-time]
Command Qualifiers Defaults
/822TOLAN /822TOLAN
/BACKWARD /FORWARD
/CHANNEL=channel-name /CHANNEL=ff_local
/DEBUG /NODEBUG
/ENVELOPE /HEADER
/FORWARD /FORWARD
/HEADER /HEADER
/LANTO822 /822TOLAN
/TIME See text
42.4.1 – Restrictions
This utility is supplied only with the PMDF-LAN optional layered
product.
42.4.2 – Prompts
Address: test-address
Time: test-time
42.4.3 – Parameters
test-address
Optional address to test.
test-time
Optional time to test.
42.4.4 – Description
Test a MS Mail channel's transformation of an address or time.
42.4.5 – Command Qualifiers
42.4.5.1 /822TOLAN
/822TOLAN (default)
/LANTO822
The testing process can test conversion of RFC 822 addresses to
MS Mail format, /822TOLAN, or test conversion of MS Mail format
addresses to RFC 822 format, /LANTO822.
42.4.5.2 /BACKWARD
/BACKWARD
/FORWARD (default)
The testing process can test conversion of backwards or forwards
pointing addresses; the default is forward pointing addresses.
42.4.5.3 /CHANNEL
/CHANNEL=channel-name
Different MS Mail channels may be configured to perform different
transformations. If this qualifier is not specified, the default
is to test the ff_local channel.
42.4.5.4 /DEBUG
/DEBUG
/NODEBUG (default)
The testing process is capable of producing detailed processing
information. The /DEBUG qualifier enables this output; it is
disabled by default.
42.4.5.5 /ENVELOPE
/ENVELOPE
/HEADER (default)
The testing process can test envelope or header addresses; the
default is header addresses.
42.4.5.6 /TIME
The testing process by default tests address transformations, but
the /TIME qualifier specifies that it should instead test time
transformations.
42.4.6 – Examples
$ PMDF TEST/FF adam@msmail.example.com
CSI:EXAMPLE/HQ/ADAM
$ PMDF TEST/FF "EXAMPLE/ADMIN/CARL@msmail.example.com"
CSI:EXAMPLE/ADMIN/CARL
$ PMDF TEST/FF service@example.com
SMTP:SERVICE@EXAMPLE.COM
This example shows testing a ff_local channel's transformation
of several addresses. The output shown corresponds to a ff_
local channel with the official host name msmail.example.com
and with the channel option settings FF_DEFAULT_NETWORK=EXAMPLE
and FF_DEFAULT_POSTOFFICE=HQ.
42.5 /GROUPWISE
Test GroupWise (WordPerfect Office) channel address
transformations; a synonym for PMDF TEST/WPO.
Syntax
PMDF TEST/GROUPWISE [test-address|test-time]
Command Qualifiers Defaults
/822TOLAN /822TOLAN
/BACKWARD /FORWARD
/CHANNEL=channel-name /CHANNEL=wpo_local
/DEBUG /NODEBUG
/ENVELOPE /HEADER
/FORWARD /FORWARD
/HEADER /HEADER
/LANTO822 /822TOLAN
/TIME See text
42.5.1 – Restrictions
This utility is supplied only with the PMDF-LAN optional layered
product.
42.5.2 – Prompts
Address: test-address
Time: test-time
42.5.3 – Parameters
test-address
Optional address to test.
test-time
Optional time to test.
42.5.4 – Description
Test a GroupWise (WordPerfect Office) channel's transformation of
an address or time; a synonym for PMDF TEST/WPO.
42.5.5 – Command Qualifiers
42.5.5.1 /822TOLAN
/822TOLAN (default)
/LANTO822
The testing process can test conversion of RFC 822 addresses
to GroupWise format, /822TOLAN, or test conversion of GroupWise
format addresses to RFC 822 format, /LANTO822.
42.5.5.2 /BACKWARD
/BACKWARD
/FORWARD (default)
The testing process can test conversion of backwards or forwards
pointing addresses; the default is forward pointing addresses.
42.5.5.3 /CHANNEL
/CHANNEL=channel-name
Different GroupWise channels may be configured to perform
different transformations. If this option is not specified, the
default is to test the wpo_local channel.
42.5.5.4 /DEBUG
/DEBUG
/NODEBUG (default)
The testing process is capable of producing detailed processing
information. The /DEBUG qualifier enables this output; it is
disabled by default.
42.5.5.5 /ENVELOPE
/ENVELOPE
/HEADER (default)
The testing process can test envelope or header addresses; the
default is header addresses.
42.5.5.6 /TIME
The testing process by default tests address transformations, but
the /TIME qualifier specifies that it should instead test time
transformations.
42.5.6 – Examples
$ PMDF TEST/GROUPWISE adam@groupwise.example.com
EXAMPLE.HQ.ADAM
$ PMDF TEST/GROUPWISE postmaster@example.com
EXAMPLE.PMDF.POSTMASTER
$ PMDF TEST/GROUPWISE service@example.com
EXAMPLE.PMDF."service@example.com"
This example shows testing a wpo_local channel's transformation
of several addresses. The output shown corresponds to a wpo_
local channel with official host name groupwise.example.com and
channel options WPO_DEFAULT_DOMAIN=EXAMPLE, WPO_DEFAULT_PO=HQ,
WPO_GATEWAY_DOMAIN=EXAMPLE, and WPO_GATEWAY_PO=PMDF, and where
the site has example.com as the official local host name.
42.6 /LN
Test Lotus NotesMail channel address transformations.
Syntax
PMDF TEST/LN [test-address|test-time]
Command Qualifiers Defaults
/822TOLAN /822TOLAN
/BACKWARD /FORWARD
/CHANNEL=channel-name /CHANNEL=ln_local
/DEBUG /NODEBUG
/ENVELOPE /HEADER
/FORWARD /FORWARD
/HEADER /HEADER
/LANTO822 /822TOLAN
/TIME See text
42.6.1 – Restrictions
This utility is supplied only with the PMDF-LAN optional layered
product.
42.6.2 – Prompts
Address: test-address
Time: test-time
42.6.3 – Parameters
test-address
Optional address to test.
test-time
Optional time to test.
42.6.4 – Description
Test a Lotus NotesMail channel's transformation of an address or
time.
42.6.5 – Command Qualifiers
42.6.5.1 /822TOLAN
/822TOLAN (default)
/LANTO822
The testing process can test conversion of RFC 822 addresses to
Lotus NotesMail format, /822TOLAN, or test conversion of Lotus
NotesMail format addresses to RFC 822 format, /LANTO822.
42.6.5.2 /BACKWARD
/BACKWARD
/FORWARD (default)
The testing process can test conversion of backwards or forwards
pointing addresses; the default is forward pointing addresses.
42.6.5.3 /CHANNEL
/CHANNEL=channel-name
Different Lotus NotesMail channels may be configured to perform
different transformations. If this qualifier is not specified,
the default is to test the ln_local channel.
42.6.5.4 /DEBUG
/DEBUG
/NODEBUG (default)
The testing process is capable of producing detailed processing
information. The /DEBUG qualifier enables this output; it is
disabled by default.
42.6.5.5 /ENVELOPE
/ENVELOPE
/HEADER (default)
The testing process can test envelope or header addresses; the
default is header addresses.
42.6.5.6 /TIME
The testing process by default tests address transformations, but
the /TIME qualifier specifies that it should instead test time
transformations.
42.6.6 – Examples
$ PMDF TEST/LN adam@notesmail.example.com
adam @ PMDF
This example shows testing a ln_local channel's transformation
of an address. The output shown corresponds to a ln_local
channel with official host name notesmail.example.com and
channel option LN_GATEWAY_DOMAIN=PMDF.
42.7 /MAPPING
Test a mapping table in the mapping file.
Syntax
PMDF TEST/MAPPING [input-string]
Command Qualifiers Defaults
/FLAGS=(a,b,c,...) /NOFLAGS
/IMAGE_FILE=file-spec /IMAGE_FILE=PMDF_CONFIG_DATA
/MAPPING_FILE=file-spec /MAPPING_FILE=PMDF_MAPPING_FILE
/OPTION_FILE=file-spec /OPTION_FILE=PMDF_OPTION_FILE
/TABLE=table-name None
42.7.1 – Restrictions
None.
42.7.2 – Prompts
Enter table name: table-name
42.7.3 – Parameters
input-string
Optional input string to map.
42.7.4 – Description
TEST/MAPPING may be used to test the behavior of a mapping table
in the mapping file. The result of mapping an input string
will be output along with information about any metacharacters
specified in the output string.
If an input string is supplied on the command line, then only the
result of mapping that input string will be output. If no input
string is specified TEST/MAPPING will enter a loop, prompting
for an input string, mapping that string, and prompting again
for another input string. TEST/MAPPING will exit when a CTRL/Z is
entered.
42.7.5 – Command Qualifiers
42.7.5.1 /FLAGS
/FLAGS=(a,b,c,...)
/NOFLAGS
The /FLAGS qualifier is used to specify particular flags to set
during the mapping testing; for instance, the E (envelope), B
(header/body), or I (message id) flags when testing a REVERSE
mapping.
42.7.5.2 /IMAGE_FILE
/IMAGE_FILE[=filename]
/NOIMAGE_FILE
The /IMAGE_FILE qualifier serves two purposes. The first is when
/NOIMAGE_FILE is specified; this instructs TEST/MAPPING to ignore
any compiled mapping information unconditionally and to read
mapping information from the mapping file itself.
When the /IMAGE_FILE qualifier is specified without an optional
file name, PMDF will load the compiled configuration file PMDF_
CONFIG_DATA. If, instead, a file name is specified then that
file, which is expected to be a compiled configuration image,
will be loaded instead.
42.7.5.3 /MAPPING_FILE
/MAPPING_FILE=filename
This qualifier instructs TEST/MAPPING to use the specified
mapping file rather than the default mapping file, PMDF_MAPPING_
FILE.
This qualifier has no effect unless /NOIMAGE_FILE is specified
or no compiled configuration exists; use of any compiled
configuration will preclude reading any sort of mapping file.
42.7.5.4 /OPTION_FILE
/OPTION_FILE=filename
/NOOPTION_FILE
This qualifier instructs TEST/MAPPING to use the specified option
file rather than the default option file PMDF_OPTION_FILE.
This qualifier has no effect unless /NOIMAGE_FILE is specified
or no compiled configuration exists; use of any compiled
configuration will preclude reading any sort of option file.
Use of the qualifier /NOOPTION_FILE will prevent the file
PMDF_OPTION_FILE from being read in when there is no compiled
configuration.
42.7.5.5 /TABLE
/TABLE=table-name
This qualifier specifies the name of the mapping table to test.
If this qualifier is not specified, then TEST/MAPPING will prompt
for the name of a table to use.
42.7.6 – Examples
In the following example, the sample PAGER mapping is tested.
The /MAPPING_FILE qualifier is used to select the mapping file
PAGER_TABLE.SAMPLE instead of the default mapping file.
$ PMDF TEST/MAPPING/NOIMAGE/MAPPING_FILE=PMDF_TABLE:pager_table.sample
Enter table name: PAGER
Input string: H|From: "Daniel C. Newman"
<dan@example.com> (Doof City)
Output string: H|F:dan
Output flags: [0, 1, 2, 'Y' 89]
Input string: ^Z
$
42.8 /MATCH
Test a mapping wildcard pattern.
Syntax
PMDF TEST/MATCH
Command Qualifiers Defaults
None. None.
42.8.1 – Restrictions
None.
42.8.2 – Prompts
Pattern: mapping-pattern
Target: target-string
42.8.3 – Parameters
None.
42.8.4 – Description
TEST/MATCH may be used to test wildcard and glob matching, such
as in a mapping pattern.
When invoked, TEST/MATCH prompts for a pattern and then for a
target string to compare against the pattern, and will output
whether or not the target string matched and if it did match,
which characters in the target string matched which wildcard or
glob of the pattern. TEST/MATCH will loop, prompting for input,
until exitted with a CTRL/Z.
42.8.5 – Examples
In the following example, the sample mapping pattern
$[AX1]*@*.EXAMPLE.COM is tested for several sample target
strings.
$ PMDF TEST/MATCH
Pattern: $[ax1]*@*.example.com
[ 1S] cglob [1ax]
[ 2] "@"
[ 3S] glob, req 109, reps 2
[ 4] "."
[ 5] "a"
[ 6] "c"
[ 7] "m"
[ 8] "e"
[ 9] "."
[ 10] "c"
[ 11] "o"
[ 12] "m"
Target: xx11a@sys1.example.com
Match.
0 - xx11a
1 - sys1
Pattern: $[ax1]*@*.example.com
[ 1S] cglob [1ax]
[ 2] "@"
[ 3S] glob, req 109, reps 2
[ 4] "."
[ 5] "a"
[ 6] "c"
[ 7] "m"
[ 8] "e"
[ 9] "."
[ 10] "c"
[ 11] "o"
[ 12] "m"
Target: 12a@node.example.com
No match.
Pattern: $[ax1]*@*.example.com
[ 1S] cglob [1ax]
[ 2] "@"
[ 3S] glob, req 109, reps 2
[ 4] "."
[ 5] "a"
[ 6] "c"
[ 7] "m"
[ 8] "e"
[ 9] "."
[ 10] "c"
[ 11] "o"
[ 12] "m"
Target: 1xa@node.example.com
Match.
0 - 1xa
1 - node
Pattern: ^Z
$
42.9 /MHS
Test MHS channel address transformations.
Syntax
PMDF TEST/MHS [test-address|test-time]
Command Qualifiers Defaults
/822TOLAN /822TOLAN
/BACKWARD /FORWARD
/CHANNEL=channel-name /CHANNEL=mhs_local
/DEBUG /NODEBUG
/ENVELOPE /HEADER
/FORWARD /FORWARD
/HEADER /HEADER
/LANTO822 /822TOLAN
/TIME See text
42.9.1 – Restrictions
This utility is supplied only with the PMDF-LAN optional layered
product.
42.9.2 – Prompts
Address: test-address
Time: test-time
42.9.3 – Parameters
test-address
Optional address to test.
test-time
Optional time to test.
42.9.4 – Description
Test a MHS Mail channel's transformation of an address or time.
42.9.5 – Command Qualifiers
42.9.5.1 /822TOLAN
/822TOLAN (default)
/LANTO822
The testing process can test conversion of RFC 822 addresses to
MHS format, /822TOLAN, or test conversion of MHS format addresses
to RFC 822 format, /LANTO822.
42.9.5.2 /BACKWARD
/BACKWARD
/FORWARD (default)
The testing process can test conversion of backwards or forwards
pointing addresses; the default is forward pointing addresses.
42.9.5.3 /CHANNEL
/CHANNEL=channel-name
Different MHS channels may be configured to perform different
transformations. If this option is not specified, the default is
to test the mhs_local channel.
42.9.5.4 /DEBUG
/DEBUG
/NODEBUG (default)
The testing process is capable of producing detailed processing
information. The /DEBUG qualifier enables this output; it is
disabled by default.
42.9.5.5 /ENVELOPE
/ENVELOPE
/HEADER (default)
The testing process can test envelope or header addresses; the
default is header addresses.
42.9.5.6 /TIME
The testing process by default tests address transformations, but
the /TIME qualifier specifies that it should instead test time
transformations.
42.9.6 – Examples
$ PMDF TEST/MHS adam@mhs.example.com
ADAM@EXAMPLE
$ PMDF TEST/MHS postmaster@example.com
POSTMASTER@PMDF
$ PMDF TEST/MHS service@example.com
MAILER@PMDF {smtp:SERVICE@example.COM}
This example shows testing an mhs_local channel's
transformation of several addresses. The output shown
corresponds to a mhs_local channel with official host
name mhs.example.com and channel options MHS_DEFAULT_
WORKGROUP=EXAMPLE, MHS_GATEWAY_WORKGROUP=PMDF, MHS_GATEWAY_
USERNAME=MAILER, and MHS_GATEWAY_TYPE=SMTP, and where the site
has example.com as the official local host name.
42.10 /REWRITE
Test address rewriting specified by a PMDF configuration
Syntax
PMDF TEST/REWRITE [test-address[,...]]
Command Qualifiers Defaults
/ALIAS_FILE=file-spec /ALIAS_FILE=PMDF_ALIAS_FILE
/CHANNEL /CHANNEL
/CHECK_EXPANSIONS /NOCHECK_EXPANSIONS
/CONFIGURATION_FILE=file-spec /CONFIGURATION_FILE=PMDF_CONFIG_FILE
/DATABASE=database-list See text
/DEBUG /NODEBUG
/DELIVERY_RECEIPT See text
/DESTINATION_CHANNEL=channel None
/FILTER /NOFILTER
/FROM=address /FROM=postmaster@localhost
/GREY=setting /GREY=0
/IMAGE_FILE=file-spec /IMAGE_FILE=PMDF_CONFIG_DATA
/LOCAL_ALIAS=value None
/MAPPING_FILE=file-spec /MAPPING_FILE=PMDF_MAPPING_FILE
/OPTION_FILE=file-spec /OPTION_FILE=PMDF_OPTION_FILE
/READ_RECEIPT See text
/REPROCESSING /REPROCESSING
/RESTRICTED=setting /RESTRICTED=0
/SOURCE_CHANNEL=channel /SOURCE_CHANNEL=L
42.10.1 – Restrictions
None.
42.10.2 – Prompts
Address: test-address[,...]
42.10.3 – Parameters
test-address
Optional parameter specifying one or more addresses to rewrite.
42.10.4 – Description
TEST/REWRITE provides a straightforward test facility for
examining PMDF's address rewriting and channel mapping process
without actually sending any message. Various qualifiers can be
used to control whether TEST/REWRITE uses the configuration text
files or the compiled configuration (if present), the amount of
output produced, and so on.
If one or more test addresses are specified on the command
line, TEST/REWRITE applies PMDF address rewriting to those
addresses, reports the results, and exits. If no test address
is specified TEST/REWRITE will enter a loop, prompting for
addresses, rewriting them, and prompting again for more
addresses. TEST/REWRITE will exit when a CTRL/Z is entered.
When testing rewriting of a alias corresponding to a mailing list
which has an AUTH_ or CANT_ type of named parameter controlling
who is authorized to post to the list, or when testing rewriting
when SEND_ACCESS or related mapping tables are in effect, note
that by default TEST/REWRITE uses as the posting address the
return address of the local postmaster as specified by the
RETURN_ADDRESS option in the PMDF option file. To specify a
different posting address for the rewriting process, use the
/FROM qualifier.
42.10.5 – Command Qualifiers
42.10.5.1 /ALIAS_FILE
/ALIAS_FILE=filename
TEST/REWRITE normally consults the default alias file PMDF_ALIAS_
FILE during the rewriting process. The /ALIAS_FILE qualifier
specified an alternate file for TEST/REWRITE to use.
This qualifier has no effect unless /NOIMAGE_FILE is specified
or no compiled configuration exists; use of any compiled
configuration precludes reading any sort of alias file.
42.10.5.2 /CHANNEL
/CHANNEL (default)
/NOCHANNEL
This qualifier controls whether the utility outputs detailed
information, e.g., channel flags, regarding the channel an
address matches.
42.10.5.3 /CHECK_EXPANSIONS
/CHECK_EXPANSIONS
/NOCHECK_EXPANSIONS (default)
This qualifier controls checking of alias address expansion.
Normally PMDF considers the expansion of an alias to have been
successful if any of the addresses the alias expands to are
legal. The /CHECK_EXPANSIONS qualifier causes a much stricter
policy to be applied; TEST/REWRITE checks each expanded address
in detail and reports a list of any addresses, expanded or
otherwise, that fail to rewrite properly. For addresses that
match the L channel, PMDF also performs validity checks.
42.10.5.4 /CONFIGURATION_FILE
/CONFIGURATION_FILE=filename
TEST/REWRITE normally consults the default configuration
file PMDF_CONFIG_FILE during the rewriting process. The
/CONFIGURATION_FILE qualifier specifies an alternate file to
use in place of the file PMDF_CONFIG_FILE.
This qualifier has no effect unless /NOIMAGE_FILE is specified
or no compiled configuration exists; use of any compiled
configuration will preclude reading any sort of configuration
file.
42.10.5.5 /DEBUG
/DEBUG
/NODEBUG (default)
The address rewriting process is capable of producing additional,
detailed explanations of what actions are taken and why. The
/DEBUG qualifier enables this output; it is disabled by default.
42.10.5.6 /DATABASE
/DATABASE=database-list
TEST/REWRITE normally consults the usual PMDF databases
during its operation. This qualifier is used to either disable
references to various databases or to redirect the database paths
to nonstandard locations.
The allowed list items are ALIAS, NOALIAS, PERSONAL_ALIAS,
NOPERSONAL_ALIAS, DOMAIN, NODOMAIN, FORWARD, NOFORWARD, GENERAL,
NOGENERAL, REVERSE, and NOREVERSE. The list items beginning with
"NO" disable use of the corresponding database. The remaining
items require an associated value, which is taken to be the name
of that database.
42.10.5.7 /DELIVERY_RECEIPT
/DELIVERY_RECEIPT
/NODELIVERY_RECEIPT
The /DELIVERY_RECEIPT and /NODELIVERY_RECEIPT qualifiers, which
explicitly set the corresponding receipt request flags, can
be useful when testing the handling of receipt requests when
rewriting forwarded addresses or mailing lists.
42.10.5.8 /DESTINATION_CHANNEL
/DESTINATION_CHANNEL=channel
The /DESTINATION_CHANNEL qualifier controls what destination or
target channel TEST/REWRITE rewrites addresses for. Some address
rewriting is destination channel specific; this qualifier allows
control of the assumed destination channel.
42.10.5.9 /FILTER
/FILTER
/NOFILTER (default)
The /FILTER qualifier may be used to have PMDF TEST/REWRITE
output any filters (personal mailbox, channel, or system)
applying for the address in question.
42.10.5.10 /FROM
/FROM=address
/NOFROM
This qualifier controls what envelope From: address is used for
access control probes and mailing list access probes. If the
/FROM qualifier is omitted, then the address used for access
checks is the postmaster return address. Specifying either
/FROM=<> or /NOFROM tells the utility to use an empty envelope
From: address for access checks.
42.10.5.11 /GREY
/GREY=setting
/NOGREY (default)
This qualifier controls the setting of the Grey Book flag. By
default, this flag has value 0. When set to 1, /GREY=1, the Grey
Book flag will be set on and addresses will be rewritten using
the Grey Book format.
This flag is used to force rewriting of address in accordance
with the JANET (Grey Book) specifications. The most significant
effect is that domain specifications appear in reverse order,
e.g., edu.claremont.ymir and not ymir.claremont.edu. See the PMDF
System Manager's Guide for further details.
Grey Book address formats are not currently used in PMDF, so this
qualifier's usefulness is problematic at best.
42.10.5.12 /IMAGE_FILE
/IMAGE_FILE[=filename]
/NOIMAGE_FILE
The /IMAGE_FILE qualifier serves two purposes. The first is
when /NOIMAGE_FILE is specified; this instructs TEST/REWRITE
to ignore any compiled configuration unconditionally and to read
configuration information from the various text files instead.
When the /IMAGE_FILE qualifier is specified without an optional
file name, PMDF TEST/REWRITE will load the compiled configuration
from the file PMDF_CONFIG_DATA. If, instead, a file name is
specified then TEST/REWRITE will load the compiled configuration
from the specified file.
42.10.5.13 /LOCAL_ALIAS
/LOCAL_ALIAS=value
/NOLOCAL_ALIAS (default)
This qualifier controls the setting of an alias for the local
host. PMDF supports multiple "identities" for the local host;
the local host may have a different identity on each channel.
This qualifier may be used to set the local host alias to the
specified value; appearances of the local host in rewritten
addresses will be replaced by this value.
42.10.5.14 /MAPPING_FILE
/MAPPING_FILE[=filename]
/NOMAPPING_FILE
This qualifier instructs TEST/REWRITE to use the specified
mapping file rather than the default mapping file named by the
PMDF_MAPPING_FILE logical name, usually PMDF_TABLE:MAPPINGS.
This qualifier has no effect unless /NOIMAGE_FILE was specified
or no compiled configuration exists; use of any compiled
configuration will preclude reading the mapping file.
Use of the /NOMAPPING_FILE qualifier will prevent the PMDF_
MAPPING_FILE file from being read in when there is no compiled
configuration.
42.10.5.15 /OPTION_FILE
/OPTION_FILE=filename
/NOOPTION_FILE
This qualifier instructs TEST/REWRITE to use the specified option
file rather than the default option file PMDF_OPTION_FILE.
This qualifier has no effect unless /NOIMAGE_FILE is specified
or no compiled configuration exists; use of any compiled
configuration will preclude reading any sort of option file.
Use of the qualifier /NOOPTION_FILE will prevent the file
PMDF_OPTION_FILE from being read in when there is no compiled
configuration.
42.10.5.16 /READ_RECEIPT
/READ_RECEIPT
/NOREAD_RECEIPT
The /READ_RECEIPT and /NOREAD_RECEIPT qualifiers, which
explicitly set the corresponding receipt request flags, can
be useful when testing the handling of receipt requests when
rewriting forwarded addresses or mailing lists.
42.10.5.17 /REPROCESSING
/REPROCESSING (default)
/NOREPROCESSING
This qualifier allows the utility to display the contents of a
mailing list which uses the [REPROCESS] named parameter in its
alias definition.
42.10.5.18 /RESTRICTED
/RESTRICTED=value
/NORESTRICTED
This qualifier controls the setting of the restricted flag. By
default, this flag has value 0. When set to 1, /RESTRICTED=1, the
restricted flag will be set on and addresses will be rewritten
using the restricted mailbox encoding format recommend by
RFC1137.
This flag is used to force rewriting of address mailbox names in
accordance with the RFC1137 specifications; see the PMDF System
Manager's Guide for further details.
42.10.5.19 /SOURCE_CHANNEL
/SOURCE_CHANNEL=channel
The /SOURCE_CHANNEL qualifier controls what source channel to
rewrite addresses for. Some address rewriting is source channel
specific; TEST/REWRITE normally pretends that the channel source
it is rewriting for is the local channel, L.
42.10.6 – Examples
This example shows the typical output generated by
TEST/REWRITE. Perhaps the single most important piece of
information generated by TEST/REWRITE is the last few lines
of the TEST/REWRITE output, 6, which give the channel to
which TEST/REWRITE would submit a message with the specified
test address and the form in which the test address would be
rewritten for that channel. This output is invaluable when
debugging configuration problems.
$ PMDF TEST/REWRITE DAN@EXAMPLE.COM
forward channel = tcp_local
channel description =
channel user filter =
dest channel filter =
source channel filter =
channel flags #0 = BIDIRECTIONAL SINGLE_SYSTEM IMMNORMAL NOSERVICEALL
channel flags #1 = SMTP RANDOMMX MAYTLS DEFAULT
channel flags #2 = NOLOCALPOST POSTHEADBODY HEADERINC NOEXPROUTE
channel flags #3 = LOGGING NOGREY NORESTRICTED
channel flags #4 = EIGHTNEGOTIATE NOHEADERTRIM NOHEADERREAD RULES
channel flags #5 = MASTER_DEBUG
channel flags #6 = LOCALUSER REPORTHEADER
channel flags #7 = SWITCHCHANNEL NOREMOTEHOST DATEFOUR DAYOFWEEK
channel flags #8 = NODEFRAGMENT EXQUOTA REVERSE NOCONVERT_OCTET_STREAM
channel flags #9 = NOTHURMAN INTERPRETENCODING INCLUDEFINAL RECEIVEDFROM
linelength = 998
addrsperfile = 127
channel env addr type = SOURCEROUTE
channel hdr addr type = SOURCEROUTE
channel official host = TCP-DAEMON
channel local alias =
channel queue name = MAIL_TCP_BATCH
channel after param = 60
channel daemon name = fw.example.com
channel user name =
urgentnotices = 1 4 8 12
normalnotices = 1 4 8 12
nonurgentnotices = 1 4 8 12
channel rightslist ids =
backward channel = tcp_local
header To: address = DAN@EXAMPLE.COM
header From: address = DAN@EXAMPLE.COM
envelope To: address = DAN@EXAMPLE.COM (route (TCP-DAEMON,TCP-DAEMON))
envelope From: address = DAN@EXAMPLE.COM
name =
mbox = DAN
Extracted address action list:
DAN@EXAMPLE.COM
Extracted 733 address action list:
DAN@EXAMPLE.COM
Address list expansion: