Previous | Contents | Index |
When a service type of 4 is specified, the directory channel will query a CCSO
directory to look up mailbox names.
7 The types of queries are controlled with the QUERY_METHOD_
channel options. In the event of an ambiguous match, the possible
choices will be returned along with the original message to the message
originator.
The directory channel queries a CCSO directory via a TCP/IP connection to either a local or remote qi server.
Alternatively, on OpenVMS platforms if you are using Bruce Tanner's qi
implementation, then the channel can use a connectionless protocol to
communicate directly with the CCSO
database.8
See <REFERENCE>(HEAD4_CCSOFORMCONNECTIONLESS) for details on
configuring this. When using TCP/IP on OpenVMS, UCX emulation is
required of your TCP/IP package.
When a single, unambiguous match is found for a pseudo domain mailbox name, the message is redirected to the address associated with the matching entry's e-mail field. The name of the e-mail field is given by the EMAIL_NAME_FIELD
option. The email field should therefore be an internal address to
which to forward the message. If the matching entry has no email field,
then the message is returned to the originator with a note stating so.
If more than one match is found, then the message is returned to the originator along with a list of up to fifty possible matches. The SIZELIMIT
option may be used to place a different limit on the number of matches returned. The list of matches will show, for each match, the values of the name and department fields. Different fields can be selected with the NAME_FIELD_NAME
and DEPARTMENT_FIELD_NAME
options. In addition, an email address to use for the match will be generated from the mail field and mail domain information generated by a qi siteinfo
command. If the qi server does not return mailfield information then the address associated with the field named email will be returned. A different field can be selected with the PUBLIC_EMAIL_FIELD_NAME
option.
As an example, suppose that a qi server's response to a siteinfo
command is:
-200:0:version:VMS qi V2.12 -200:1:administrator:directory_manager@example.com -200:2:mailfield:alias -200:3:maildomain:example.com 200:Ok. |
example.com
. For an entry with an alias field value of Bob.Smith
, the generated email address would then be Bob.Smith@example.com
.
If no matches are found then the message is returned with a note stating so.
3.2.8.1 Required Options
Channel
options must be used to specify the qi server with which to communicate and to control aspects of the CCSO
queries performed. To this end, the QI_SERVERS
and one or more QUERY_METHOD_
options must be specified in the directory
channel's option file.
3.2.8.1.1 QI_SERVERS Option
The QI_SERVERS
option specifies the TCP/IP host names of the qi servers to use. This
is a required option; if it is not specified, the directory channel
will not perform look ups.
The option's value takes the form, (note the use of the vertical bar character, |),
host1+port1|host2+port2|host3+port3... |
host1
, host2
, host3
, ... and port1
, port2
, port3
, ... are, respectively, the TCP/IP hosts and ports to which to connect. The hosts will be attempted in the order listed, from left to right, until a connection is successfully made to one of the hosts or the list is exhausted. IP addresses may be used in place of host names. If the port number is omitted then the standard qi port, port 105, will be used. When omitting the port number, also omit the +
.
(that exact
string, including angle brackets). This is only supported on OpenVMS
platforms and only in conjunction with Bruce Tanner's qi implementation
for OpenVMS. See <REFERENCE>(HEAD4_CCSOFORMCONNECTIONLESS) for
further details.
For instance, to use the hosts ph.example.com
and admin.example.com
as qi servers, you can specify
QI_SERVERS=ph.example.com|admin.example.com+5000 |
ph.example.com
, port 105 will be used. Port 5000 is used when connecting to admin.example.com
.
3.2.8.1.2 QI_QUERY_METHOD_ Options
When attempting to locate an entry in a CCSO directory, the directory
channel will generate up to ten qi query
commands. The query
commands will be tried one after the other until either a match (or matches) is found or the list of possible query methods is exhausted. The forms of the query
commands are controlled by "query methods" specified in the option file. Since both the format of mailbox names and the behavior of qi query
commands vary so widely, no default query methods are supplied by the directory
channel. A set of one or more query methods must be specified.
Each query
command will be of the form
query name-value return ... |
name-value
is derived from the mailbox and pseudo domain name, and the ...
portion of the command signifies the names of various CCSO
directory fields which will be requested.
The method by which the name-value
string is derived is controlled with the QUERY_METHOD_0
, QUERY_METHOD_1
, ..., QUERY_METHOD_9
options:
QUERY_METHOD_n=qi-command|name-format|translate-from-chars|translate-to-char |
qi-command
is an optional qi server command to issue prior to the query
command (e.g., set exact=on
). name-format
is a formatting string describing how to format the pseudo domain address for inclusion in the query
command. translate-from-chars
is an optional field specifying one or more characters which, when they appear in the mailbox name, will be translated to the optional character translate-to-char
.
Table 3-2 describes control sequences which may be used in the name-format
formatting string. Substitutions are done after any character translations have been performed.
Sequence | Usage |
---|---|
%s
|
Substitute in the value of the mailbox name |
%*s
|
Same as
%s but with wild card,
* , suffixes added to each blank delimited part of the
field value; if
LEADING_WILDCARDS=1 is specified in the option file then
wild card prefixes will also be added
|
%h
|
Substitute in the pseudo domain name |
As an example, let us assume that the address John.Doe@example.com
is to be looked up in a CCSO
database. In this case, the mailbox name is John.Doe
and the pseudo domain name is example.com
. Under this assumption, Table 3-3 shows sample query methods and the query
commands that would result. In the table, the qi-command
portion of the query method has been omitted.
Formatting string | Resulting query command |
---|---|
|%s
|
query John.Doe return ...
|
|name=%s|_.|
|
query name=John Doe return ...
|
|%*s
|
query John.Doe* return ...
|
name=%*s|_.|
|
query name=John* Doe* return ...
|
|
. Thus, the characters .
and _
are changed to a space wherever they appear in a mailbox name.
To continue the above example, suppose that the three query methods shown below are specified:
QUERY_METHOD_0=set approx=off soundex=off|email=%s@%h QUERY_METHOD_1=set approx=on|%s|_.| QUERY_METHOD_2=|%*s|_.| |
John.Doe@example.com
would result in the following sequence of qi
commands.
set approx=off soundex=off query email=John.Doe@example.com return ... set approx=on query John Doe return ... query John* Doe* return ... |
3.2.8.2 Additional Options
Additional options are listed below:
DEPARTMENT_FIELD_NAME (text string <= 251 characters long)
Specify the name of theCCSO
directory's department field. This should be the name of the field giving the department name or other useful identifying information associated with a directory entry. This field is only used in the event of multiple matches. If not specified, the field name "department" is assumed. See Section 3.2.8 for futher details.EMAIL_FIELD_NAME (text string <= 251 characters long)
Specify the name of theCCSO
directory's email field. This should be the field with the "internal" email address to use for forwarding mail to an individual in the database. If not specified, the field name "email" is assumed. See Section 3.2.8 for further details.LEADING_WILDCARDS (0 or 1)
Specifies whether or not leading wild cards,*
, are put into strings formatted with the%*s
control sequence. By default,LEADING_WILDCARDS=0
, a leading wild card is not put into such strings since that reduces the efficiency of the look up process with some qi servers. Specify a value of 1 to have leading wild cards added.NAME_FIELD_NAME (text string <= 251 characters long)
Specify the name of theCCSO
directory's name field. This should be the name of the field giving the name associated with a directory entry. This name is only used when rejecting a message either because the matching database entry lacks an email field or in the event of multiple matches. If not specified, the field name "name" is assumed. See Section 3.2.8 for further details.NO_MATCH_HOST (text string <= 252 characters long)
Specify a host to redirect messages to when no matches can be found in theCCSO
directory. For instance, if
and no match can be found for the user
NO_MATCH_HOST=hub.example.comNerble
, then the message will be forwarded on toNerble@hub.example.com
rather than return the message as undeliverable.PUBLIC_EMAIL_FIELD_NAME (text string <= 251 characters long)
Specify the name of theCCSO
directory's public e-mail field. This should be the field with the "public" e-mail address to use as a hint when the address to be looked up is ambiguous. This field will only be used when information from thesiteinfo
command cannot be used. See Section 3.2.8 for further details. If not specified, the field name "email" is used.QI_SERVERS (text string <= 252 characters long)
Specify the qi servers to contact. See Section 3.2.8.1.1 for details.QUERY_METHOD_0, ..., QUERY_METHOD_9 (text string <= 252 characters long)
Specify the query methods to use. See Section 3.2.8.1.2 for details.RECV_TIMEOUT (integer >= 0 seconds)
This option controls how long thedirectory
channel will wait for a response from the qi server before giving up (timing out). By default, the channel will wait 120 seconds (RECV_TIMEOUT=120
). To disable the timeout mechanism, specifyRECV_TIMEOUT=0
. This will cause the channel to wait indefinitely. When a timeout occurs, the channel closes its connection to the qi server. When necessary, the channel will attempt to reestablish a connection with a qi server.SITEINFO (0 or 1)
In the case of an ambiguous address, the message is bounced back to the sender with hints as to how to resolve the ambiguity. These hints will include the e-mail addresses of the possible matches. WhenSITEINFO=1
, the default, the e-mail addresses will, if possible, be constructed from information gathered with thesiteinfo
command. WhenSITEINFO=0
, the addresses will be the value, if any, of the email address field for each possible match. ThePUBLIC_EMAIL_FIELD_NAME
option specifies the name of the field to use for this purpose.SIZELIMIT (integer >= -1)
When thedirectory
channel performs a search for an e-mail address, many entries may match the search criteria. If this is the case, the mail is returned to the sender along with a list of possible choices. TheSIZELIMIT
option controls the maximum number of choices which are returned; e.g.,
The default value for
SIZELIMIT=10SIZELIMIT
is 50. You may want to make this limit smaller to reduce "trawling" of your database. Note that this limit may be superseded by a smaller limit which has been imposed by the manager of the qi server orCCSO
directory. Specify a value of-1
to allow any number of matches to be returned; specify a value of0
to suppress the return of possible matches.STRIP_QUOTES (0 or 1)
Controls whether or not outer quotes are stripped from the local part of an address to be looked up. By default,STRIP_QUOTES=1
, quotes are stripped. Thus, for the address
"Bob Smith"@example.comquery
commands of the form
would be generated. Were
query Bob Smith return ...STRIP_QUOTES=0
specified, then the queries would be of the form
which may not be appropriate.
query "Bob Smith" return ...
3.2.8.3 Example Option Files
An example option file is shown below.
example.com=4 QI_SERVERS=qi.example.com|vaxc.example.com+5200 QUERY_METHOD_0=set exact=on|alias=%s QUERY_METHOD_1=set approx=on|%*s |
example.com=4
option specifies that CCSO
directory operations are to be done for the example.com pseudo domain. The QI server qi.example.com
is used. If it is not reachable, then the qi server on port 5200 of vaxc.example.com
will be used.
Shown below is an example of an option file for a directory
channel which services two different pseudo domains.
stateu.edu=4 students.stateu.edu=4 QI_SERVERS=ph.athena.stateu.edu stateu.edu_SIZELIMIT=10 students.stateu.edu_SIZELIMIT=15 students.stateu.edu_DEPARTMENT_FIELD_NAME=school QUERY_METHOD_0=set exact=on|alias=%s QUERY_METHOD_1=set approx=on|%*s |
7 Interactive OpenVMS users may use
the pop-up CCSO addressing form to query
|
Previous | Next | Contents | Index |