PMDF User's Guide
OpenVMS Edition


Previous Next Contents Index

9.3.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.3.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.3.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.3.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.3.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.3.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.3.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

2-address

3-address

4-address

5-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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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 in Section 9.3.7.1.

9.3.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.3.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.3.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.


Previous Next Contents Index