Some mail systems, such as SNADS mail systems, cannot handle real RFC 822 (Internet) addresses. Typically, one must set up algorithms or table lookups to translate between the real RFC 822 addresses, and addresses that can be used on the SNADS side. So that one does not need to register all possible addresses (the entire Internet) in advance, when sending to such mail systems, it may be useful to autoregister addresses; that is, when a previously unseen address appears in a message, automatically generate a translation address for it.
Autoregistration is enabled using the forward database, reverse
database, and the special flags $A
and $F
in
the REVERSE mapping table.
Typically, the autoregistration is only to be performed for messages going out special channels such as SNADS channels, therefore typically a channel specific reverse database and channel specific REVERSE mapping table should be used. If a non-channel specific reverse database was already in use, note that it is not usually necessary to make the entire reverse database channel specific. Instead, it is usually possible to continue using the former non-channel specific entries in the reverse database, as well as the additional new channel specific entries; see below.
The components of setting up autoregistration of addresses are as follows.
option.dat
, may be found
in Chapter 7 .
pmdf crdb
(UNIX or NT) utility.
E.g., on OpenVMS:
$ PMDF CRDB/LONG_RECORDS NLA0: PMDF_FORWARD_DATABASEor on UNIX:
# pmdf crdb -long_records /dev/null PMDF_FORWARD_DATABASE # chown pmdf /pmdf/table/forwarddb.*or on NT:
C:\ pmdf crdb -long_records nul PMDF_FORWARD_DATABASE
pmdf crdb
(UNIX or NT) utility.
E.g., on OpenVMS:
$ PMDF CRDB/LONG_RECORDS NLA0: PMDF_REVERSE_DATABASEor on UNIX:
# pmdf crdb -long_records /dev/null PMDF_REVERSE_DATABASE # chown pmdf /pmdf/table/reversedb.*or on NT:
C:\ pmdf crdb -long_records nul PMDF_REVERSE_DATABASE
$ CREATE/FDL=PMDF_COM:sequence_number.fdl PMDF_TABLE:autoreg.datOr on UNIX:
# su pmdf % touch /pmdf/table/autoreg.datOr on NT:
C:\ copy nul C:\pmdf\table\autoreg.datIf you prefer to use some other mechanism, say provide your own image which the REVERSE mapping will invoke, that is another option, in which case you will not need such a sequence number file.
*|dest-channel|orig-address $Nwhile each autoregistration entry will have the general form
*|dest-channel|orig-address $Y$A$Freplace-addresswhere
replace-address
is an address with which to
replace the real RFC 822 address. For instance, when sending to SNADS,
which is limited to an eight character username and an eight character
pseudo host name, a typical sort of approach might be to generate eight
character pseudo usernames using a PMDF sequence number file, and use a
fixed pseudo host name, say INTERNET. For instance, assuming that SNADS
hosts are SNADS1, SNADS2, etc., then on OpenVMS:
REVERSE *|snads_*|*@SNADS1 $N *|snads_*|*@SNADS2 $N ! ...etc... *|snads_*|* $Y$A$F$#PMDF_TABLE:autoreg.dat|16|8#@INTERNETor on UNIX:
REVERSE *|snads_*|*@SNADS1 $N *|snads_*|*@SNADS2 $N ! ...etc... *|snads_*|* $Y$A$F$#/pmdf/table/autoreg.dat|16|8#@INTERNETor on NT:
REVERSE *|snads_*|*@SNADS1 $N *|snads_*|*@SNADS2 $N ! ...etc... *|snads_*|* $Y$A$F$#C:\pmdf\table\autoreg.dat|16|8#@INTERNET
$N
blocking
entries shown above to use $Y$D
to cause the addresses to
be passed back for a reverse database lookup, plus add a final REVERSE
entry to cause any other addresses to be passed back for a reverse
database lookup. For instance, on UNIX:
REVERSE *|snads_*|*@SNADS1 $Y$D$2@SNADS1 *|snads_*|*@SNADS2 $Y$D$2@SNADS2 ! ...etc... *|snads_*|* $Y$A$F$#/pmdf/table/autoreg.dat|16|8#@INTERNET *|*|* $Y$D$2Note that these
$Y$D
entries are passing back only the
original address for the reverse database probe, and omitting the
channel specific information.