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.
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.
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.
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>
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.
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>".)
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.
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>
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.
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.
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 – 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.
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 *".
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>
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.
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"
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.
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.