If the From: address is an address of the form
IN%" " wrapper is removed
and the same translations described in the previous section,
Section 19.1.1, are performed. PMDF handles this case by effectively
reversing any transformations applied to the address to make it
palatable to VMS MAIL. The result should be the original address PMDF
started out with. Note that this special case does arise in practice
when incoming PMDF messages are forwarded through VMS MAIL back out to
If the address is not something PMDF recognizes as one of its own, the first step in the rewriting process is to attempt to use any special mapping that has been supplied. PMDF checks the mapping file to see if a mapping table named VMSMAIL-TO-PMDF exists. If this table exists it is applied to each address. Specifically, a probe string of the form
channelnameis the name of the PMDF channel associated with the incoming mail. This will be
dif network mail is being received and a
dchannel exists; otherwise it will be "l".
addressis simply the address being converted.
If no entry in the mapping table matches the probe string, the conversion process continues as if no mapping table was given; the address is not changed. If an entry does match, the result of the application of the mapping replaces the original addresses. This resultant address can either be a VMS MAIL address or a RFC 822 address. The mapping template should specify a $< metacharacter if it produces a VMS MAIL address and $> metacharacter if it produces a RFC 822 address. No further conversion will be done if $> is specified.
The following example shows a very simple mapping that converts PSIMail addresses into (possibly legal) domain addresses:
VMSMAIL-TO-PMDF *|PSI$%1::* $email@example.com$> *|PSI$%2::* $firstname.lastname@example.org$> *|PSI$%*::* $2@$1.psi.company.com$>
Now, if the conversion process has resulted in a VMS MAIL address at this point (which includes addresses generated by DECnet MAIL, PSIMail, or various other mail systems), it is converted into RFC 822 quoted string format and the local host name is appended to the address. DECnet addresses are handled in a special manner --- double colons are converted into percent signs and the halves of the address are swapped. The special case of a foreign protocol address that does not require RFC 822 quoting is handled by doubling the percent signs in the address (effectively quoting them). For example:
IN%"email@example.com" maps to firstname.lastname@example.org IN%"'test 1'@tester" maps to "test 1"@tester NED maps to ned@local-host A::B::C::D maps to d%c%b%a@local-host PSI%1002::TEST maps to "PSI%1002::TEST"@local-host DSIN%48374334343 maps to DSIN%%48374334343@local-host