Sun Java System Messaging Server 6 2005Q4 Administration Guide

Step 1. Extract the First Host or Domain Specification

The process of rewriting an address starts by extracting the first host or domain specification from the address. (Readers not familiar with RFC 822 address conventions are advised to read that standard to understand the following discussion.) The order in which host/domain specifications in the address are scanned is as follows:

  1. Hosts in source routes (read from left to right)

  2. Hosts appearing to the right of the “at” sign (@)

  3. Hosts appearing to the right of the last single percent sign (%)

  4. Hosts appearing to the left of the first exclamation point (!)

The order of the last two items is switched if the bangoverpercent keyword is in effect on the channel that is doing the address rewriting. That is, if the channel attempting to enqueue the message is, itself, marked with the bangoverpercent channel keyword.

Some examples of addresses and the host names that could be extracted first are shown in Table 11–3.

Table 11–3 Extracted Addresses and Host Names

Address 

First Host Domain Specification  

Comments  

user@a

a

A “short-form” domain name. 

user@a.b.c

a.b.c

A “fully qualified” domain name (FQDN).

user@[0.1.2.3]

[0.1.2.3]

A “domain literal.” 

@a:user@b.c.d

a

Source-routed address with a short-form domain name, the “route.”

@a.b.c:user@d.e.f

a.b.c

Source-routed address; route part is fully qualified. 

@[0.1.2.3]:user@d.e.f

[0.1.2.3]

Source-routed address; route part is a domain literal. 

@a,@b,@c:user@d.e.f

a

Source-routed address with an a to b to c routing. 

@a,@[0.1.2.3]:user@b

a

Source-routed address with a domain literal in the route part. 

user%A@B

B

This nonstandard form of routing is called a “percent hack.”

user%A

A

 

user%A%B

B

 

user%%A%B

B

 

A!user

A

“Bang-style” addressing; commonly used for UUCP. 

A!user@B

B

 

A!user%B@C

C

 

A!user%B

B

nobangoverpercent keyword active; the default.

A!user%B

A

bangoverpercent keyword active.

RFC 822 does not address the interpretation of exclamation points (!) and percent signs (%) in addresses. Percent signs are customarily interpreted in the same manner as at signs (@) if no at sign is present, so this convention is adopted by the Messaging Server MTA.

The special interpretation of repeated percent signs is used to allow percent signs as part of local user names; this might be useful in handling some foreign mail system addresses. The interpretation of exclamation points conforms to RFC 976’s “bang-style” address conventions and makes it possible to use UUCP addresses with the Messaging Server MTA.

The order of these interpretations is not specified by either RFC 822 or RFC 976, so the bangoverpercent and nobangoverpercent keywords can be used to control the order in which they are applied by the channel doing the rewriting. The default is more “standard,” although the alternate setting may be useful under some circumstances.


Note –

The use of exclamation points (!) or percent signs (%) in addresses is not recommended.