When using a PMDF database, (i.e., a database created with
PMDF's CRDB or crdb
utility), on OpenVMS and UNIX you must
create a directory to hold the database files. (On NT, the appropriate
directory is created during the PMDF installation.) On OpenVMS systems,
use the command:
$ CREATE/DIR PMDF_ROOT:[directories]/OWNER=[SYSTEM]On UNIX systems, use the commands
# mkdir -mu=rwx,go= /pmdf/directories # chown pmdf /pmdf/directoriesA separate database is needed for each pseudo domain. On OpenVMS, the database consists of a single database file whose name is derived from the pseudo domain name by replacing every period in the domain name with a dollar sign and appending
.dat
"; on UNIX and
NT, the database consists of a file whose name is the actual pseudo
domain name with ".db
" appended. For example, if
the pseudo domain name is x.y, the corresponding database file would be
PMDF_ROOT:[directories]x$y.dat
on an OpenVMS system. On a
UNIX system, the database would be represented by the file
/pmdf/directories/x.y.db
. On an NT system, the database
would be represented by the file
C:\pmdf\directories\x.y.db
.
3.2.4.1 Database entries
When using a PMDF database for a pseudo domain, each entry in the
database consists of a mailbox name in the pseudo domain and the
corresponding "real" address.
For example, suppose the pseudo domain is claremont.edu, the one mailbox within this pseudo domain is ned.freed, and the real address corresponding to this mailbox is ned@ymir.bitnet. To set up this domain, start with a text file containing the line:
ned.freed ned@ymir.bitnetThen, on OpenVMS systems, assuming that the input text file is named
claremont$edu.txt
, process this file with the PMDF CRDB
utility as follows:
$ PMDF CRDB/DUPLICATES claremont$edu.txt - $_ PMDF_ROOT:[directories]claremont$edu.dat_tmp $ RENAME PMDF_ROOT:[directories]claremont$edu.dat_tmp - $_ PMDF_ROOT:[directories]claremont$edu.datOn UNIX systems, assuming that the input text file is named
claremont.edu.txt
, use the commands
# pmdf crdb -duplicates claremont.edu.txt /pmdf/directories/c.e-tmp # pmdf renamedb /pmdf/directories/c.e-tmp /pmdf/directories/claremont.eduOn NT systems, assuming that the input text file is named
claremont.edu.txt
, use the commands
C:\> pmdf crdb -duplicates claremont.edu.txt \pmdf\directories\c.e-tmp C:\> pmdf renamedb \pmdf\directories\c.e-tmp \pmdf\directories\claremont.eduAn intermediate, temporary database is used so as to minimize any window of time during which the database file is in an undefined state as it is being generated or regenerated.
3.2.4.2 Default entries
Special entries can be used to implement default redirections. Such
entries are only used when no other entry matches the mailbox. The
primary default rule has a single asterisk, *, as the mailbox:
* *@host.domainIn this case the message is redirected to
host.domain
using the original mailbox
specification. An entry of the form
* newmailbox@host.domaindoes the same thing except that
newmailbox
is
used as the mailbox.
Two other special entries are available. The first is the special mailbox *%*, which matches any mailbox specification containing a percent sign. This is useful for matching and handling percent-routed addresses. The second special entry is *!*, which matches any mailbox containing an exclamation point. Both of these rules will be tried before the * rule is attempted.
3.2.4.3 Duplicate entries
Databases created with CRDB or crdb
can contain duplicate
mailboxes (if the /DUPLICATES or -duplicates
qualifier is
used). The directory channel uses this capability to provide an
informative way of handling ambiguous addresses. An error message is
returned when the mailbox extracted from an address matches a set of
duplicate entries. The addresses associated with the duplicates should
be unambiguous entries associated with the pseudo domain. This list of
possible addresses is returned as part of the error message so the
recipient of the error can select an appropriate address to use in
future messages.
For example, suppose that the acme.com pseudo domain is set up to contain entries for first names, last names, and dotted combinations of first names and last names. There are bound to be ambiguities in such a scheme for some common names. Specifically, suppose that entries for John Smith, Jane Smith, and John Jones are implemented. The entries for the names John and Smith would then be ambiguous. Therefore, instead of listing an actual address for these entries it would be more appropriate to list the unambiguous equivalents in the directory. This leads to a set of entries that might look like this:
john.smith smithjo@vaxa.acme.com john john.smith@acme.com smith john.smith@acme.com jane.smith smithja@vaxa.acme.com jane smithja@vaxa.acme.com smith jane.smith@acme.com john.jones jj0u887@vaxb.acme.com john john.jones@acme.com jones jj0u887@vaxb.acme.com
A message sent to smith@acme.edu would then produce an error message, but the message would recommend that either john.smith@acme.com or jane.smith@acme.com be used to disambiguify the address.
Note that PMDF contains no automatic facility to produce such databases; detection and resolution of ambiguities must be done by user-supplied programs.