55
55
extension is XFORWARD. The keyword is followed by the names of the
56
56
attributes that the XFORWARD implementation supports. </p>
58
<p> The client may send the XFORWARD request at any time except in
58
<p> After receiving the server's announcement for XFORWARD support,
59
the client may send XFORWARD requests at any time except in
59
60
the middle of a mail delivery transaction (i.e. between MAIL and
60
61
RSET or DOT). The command may be pipelined when the server supports
61
62
ESMTP command pipelining. </p>
88
89
hostname may be a non-DNS hostname. </p>
90
91
<li> <p> The ADDR attribute specifies the up-stream network
91
address, or [UNAVAILABLE] when the information is unavailable.
92
Address information is not enclosed with []. The address may
93
be a non-IP address. </p>
92
address: a numerical IPv4 network address, an IPv6 address
93
prefixed with IPV6:, or [UNAVAILABLE] when the address information
94
is unavailable. Address information is not enclosed with [].
95
97
<li> <p> The PORT attribute specifies an up-stream client TCP
96
98
port number in decimal, or [UNAVAILABLE] when the information
130
132
<p> Note 3: [UNAVAILABLE] may be specified in upper case, lower
131
133
case or mixed case. </p>
133
<p> Note 4: the XFORWARD server implementation must not mix
134
information from the current SMTP session with forwarded information
135
from an up-stream session. </p>
137
<p> Note 5: Postfix implementations prior to version 2.3 do not
135
<p> Note 4: Postfix implementations prior to version 2.3 do not
138
136
xtext encode attribute values. Servers that wish to interoperate
139
137
with these older implementations should be prepared to receive
140
138
unencoded information. </p>
142
<h2> XFORWARD Server response </h2>
144
<p> Upon receipt of a correctly formatted XFORWARD command, the
145
server stores the specified attribute values, and erases the
146
attributes whose value was specified as [UNAVAILABLE]. All XFORWARD
147
attributes are reset to the real client information after the MAIL
148
FROM transaction completes (i.e. after RSET or DOT). </p>
140
<h2> XFORWARD Server operation </h2>
142
<p> The server maintains a set of XFORWARD attributes with forwarded
143
information, in addition the current SMTP session attributes.
144
Normally, all XFORWARD attributes are in the undefined state, and
145
the server uses the current SMTP session attributes for logging
148
<p> Upon receipt of an initial XFORWARD command, the SMTP server
149
initializes all XFORWARD attributes to [UNAVAILABLE]. With each
150
valid XFORWARD command, the server updates XFORWARD attributes with
151
the specified values. </p>
153
<p> The server must not mix client attributes from XFORWARD with
154
client attributes from the current SMTP session. </p>
156
<p> At the end of each MAIL FROM transaction (i.e. RSET or DOT),
157
the server resets all XFORWARD attributes to the undefined state,
158
and is ready to receive another initial XFORWARD command. </p>
150
160
<h2> XFORWARD Server reply codes </h2>