RFC1327 - Mapping between X.400(1988) / ISO 10021 and RFC822(4)

时间:2005-02-14 来源: 作者: 点击:
field "Obsoletes:" IPMS.Heading.related-IPMs Mapped to "References:". IPMS.Heading.subject Mapped to "Subject:". The contents are converted to ASCII (as defined in Chapter 3). Any CRLF are not mapped
   field "Obsoletes:"

IPMS.Heading.related-IPMs
Mapped to "References:".

IPMS.Heading.subject
Mapped to "Subject:". The contents are converted to ASCII
(as defined in Chapter 3). Any CRLF are not mapped, but are
used as points at which the subject field must be folded.

IPMS.Heading.expiry-time
Mapped to the extended RFC822 field "Expiry-Date:".

IPMS.Heading.reply-time
Mapped to the extended RFC822 field "Reply-By:".

IPMS.Heading.reply-recipients
Mapped to "Reply-To:".

IPMS.Heading.importance
Mapped to the extended RFC822 field "Importance:".

IPMS.Heading.sensitivity
Mapped to the extended RFC822 field "Sensitivity:".

IPMS.Heading.autoforwarded
Mapped to the extended RFC822 field "Autoforwarded:".

The standard extensions (Annex H of X.420 / ISO 10021-7) are
mapped as follows:

incomplete-copy
Mapped to the extended RFC822 field "Incomplete-Copy:".

language
Mapped to the extended RFC822 field "Language:", filling in
the two letter code. The language-description may filled in
with a human readable description of the language, and it is
recommended to do this.

If the RFC822 extended header is found, this shall be mapped onto an
RFC822 header, as described in Section 5.1.2.

If a non-standard extension is found, it shall be discarded, unless
the gateway understands the extension and can perform an appropriate
mapping onto an RFC822 header field. If extensions are discarded,
the list is indicated in the extended RFC822 field "Discarded-X400-
IPMS-Extensions:".

The IPMS.Body is mapped into the RFC822 message body. Each
IPMS.BodyPart is converted to ASCII as follows:

IPMS.IA5Text
The mapping is straightforward (see Chapter 3).

IPMS.MessageBodyPart
The X.400 -> RFC822 mapping is recursively applied, to
generate an RFC822 Message. If present, the
IPMS.MessageBodyPart.parameters.delivery-envelope is used
for the MTS Abstract Service Mappings. If present, the
IPMS.MessageBodyPart.parameters.delivery-time is mapped to
the extended RFC822 field "Delivery-Date:".

Other
If other body parts can be mapped to IA5, either by use of
mappings defined in X.408 [CCITT88a], or by other reasonable
mappings, this shall be done unless content conversion is
prohibited.

If some or all of the body parts cannot be converted there are three
options. All of these conform to this standard. A different choice
may be made for the case where no body part can be converted:

1. The first option is to reject the message, and send a non-
delivery notification. This must always be done if
conversion is prohibited.

2. The second option is to map a missing body part to something
of the style:

*********************************

There was a foobarhere

The widget gateway ate it

*********************************

This will allow some useful information to be transferred.
As the recipient is likely to be a human (IPMS), then
suitable action will usually be possible.

3. Finally both may be done. In this case, the supplementary
information in the (positive) Delivery Report shall make
clear that something was sent on to the recipient with
substantial loss of information.

Where there is more than one IPMS.BodyPart, the mapping defined by
Rose and Stefferud in [Rose85a], is used to map the separate
IPMS.BodyParts in the single RFC822 message body. If this is done,

a "Message-Type:" field with value "Multiple part" shall be added,
which will indicate to a receiving gateway that the message may be
unfolded according to RFC934.

Note:There is currently work ongoing to produce an upgrade to RFC
934, which also allows for support of body parts with non-
ASCII content (MIME). When this work is released as an RFC,
this specification will be updated to refer to it instead
for RFC934.

For backwards compatibility with RFC987, the following procedures
shall also be followed. If there are two IA5 body parts, and the
first starts with the string "RFC-822-Headers:" as the first line,
then the remainder of this body part shall be appended to the RFC822
header.

An example message, illustrating a number of aspects is given below.

Return-Path:<@mhs-relay.ac.uk:stephen.harrison@gosip-uk.hmg.gold-400.gb>
Received: from mhs-relay.ac.uk by bells.cs.ucl.ac.uk via JANET
with NIFTP id <7906-0@bells.cs.ucl.ac.uk>;
Thu, 30 May 1991 18:24:55 +0100
X400-Received: by mta "mhs-relay.ac.uk" in
/PRMD=uk.ac/ADMD= /C=gb/; Relayed;
Thu, 30 May 1991 18:23:26 +0100
X400-Received: by /PRMD=HMG/ADMD=GOLD 400/C=GB/; Relayed;
Thu, 30 May 1991 18:20:27 +0100
Message-Type: Multiple Part
Date: Thu, 30 May 1991 18:20:27 +0100
X400-Originator: Stephen.Harrison@gosip-uk.hmg.gold-400.gb
X400-MTS-Identifier:
[/PRMD=HMG/ADMD=GOLD 400/C=GB/;PC1000-910530172027-57D8]
Original-Encoded-Information-Types: ia5, undefined
X400-Content-Type: P2-1984 (2)
Content-Identifier: Email Problems
From: Stephen.Harrison@gosip-uk.hmg.gold-400.gb (Tel +44 71 217 3487)
Message-ID: <PC1000-910530172027-57D8*@MHS>
To: Jim Craigie <NTIN36@gec-b.rutherford.ac.uk>
(Receipt Notification Requested) (Non Receipt Notification Requested),
Tony Bates <tony@ean-relay.ac.uk> (Receipt Notification Requested),
Steve Kille <S.Kille@cs.ucl.ac.uk> (Receipt Notification Requested)
Subject: Email Problems
Sender: Stephen.Harrison@gosip-uk.hmg.gold-400.gb

------------------------------ Start of body part 1

Hope you gentlemen.......

Regards,

Stephen Harrison
UK GOSIP Project

------------------------------ Start of forwarded message 1

From: Urs Eppenberger <Eppenberger@verw.switch.ch>
Message-ID:
<562*/S=Eppenberger/OU=verw/O=switch/PRMD=SWITCH/ADMD=ARCOM/C=CH/@MHS>
To: "Stephen.Harrison" <Stephen.Harrison@gosip-uk.hmg.gold-400.gb>
Cc: kimura@bsdarc.bsd.fc.nec.co.jp
Subject: Response to Email link

- ------------------------------ Start of body part 1

Dear Mr Harrison......

- ------------------------------ End of body part 1

------------------------------ End of forwarded message 1

5.3.5. Mappings from an IP Notification

A message is generated, with the following fields:

From:
Set to the IPMS.IPN.ipn-originator.

To: Set to the recipient from MTS.MessageSubmissionEnvelope.
If there have been redirects, the original address should be
used.

Subject:
Set to the string "X.400 Inter-Personal Notification" for a
receipt notification and to "X.400 Inter-Personal
Notification (failure)" for a non-receipt notification.

Message-Type:
Set to "InterPersonal Notification"

References:
Set to IPMS.IPN.subject-ipm

The following EBNF is defined for the body of the Message. This
format is defined to ensure that all information from an

interpersonal notification is available to the end user in a uniform
manner.

ipn-body-format = ipn-description <CRLF>
[ ipn-extra-information <CRLF> ]
[ ipn-content-return ]

ipn-description = ipn-receipt / ipn-non-receipt

ipn-receipt = "Your message to:" preferred-recipient <CRLF>
"was received at" receipt-time <CRLF> <CRLF>
"This notification was generated"
acknowledgement-mode <CRLF>
"The following extra information was given:" <CRLF>
ipn-suppl <CRLF>

ipn-non-receipt "Your message to:"
preferred-recipient <CRLF>
ipn-reason

ipn-reason = ipn-discarded / ipn-auto-forwarded

ipn-discarded = "was discarded for the following reason:"
discard-reason <CRLF>

ipn-auto-forwarded = "was automatically forwarded." <CRLF>
[ "The following comment was made:"
auto-comment ]

ipn-extra-information =
"The following information types were converted:"
encoded-info

ipn-content-return = "The Original Message is not available"
/ "The Original Message follows:"
<CRLF> <CRLF> message

preferred-recipient = mailbox
receipt-time = date-time
auto-comment = printablestring
ipn-suppl = printablestring

discard-reason = "Expired" / "Obsoleted" /
"User Subscription Terminated"

acknowledgement-mode = "Manually" / "Automatically"

The mappings for elements of the common fields of IPMS.IPN
(IPMS.CommonFields) onto this structure and the message header are:

subject-ipm
Mapped to "References:"

ipn-originator
Mapped to "From:".

ipn-preferred-recipient
Mapped to EBNF.preferred-recipient

conversion-eits
Mapped to EBNF.encoded-info in EBNF.ipn-extra-information

The mappings for elements of IPMS.IPN.non-receipt-fields
(IPMS.NonReceiptFields) are:

non-receipt-reason
Used to select between EBNF.ipn-discarded and
EBNF.ipn-auto-forwarded

discard-reason
Mapped to EBNF.discard-reason

auto-forward-comment
Mapped to EBNF.auto-comment

returned-ipm
This applies only to non-receipt notifications.
EBNF.ipn-content-return should always be omitted for receipt
notifications, and always be present in non-receipt
notifications. If present, the second option of
EBNF.ipn-content-return is chosen, and an RFC822 mapping of
the message included. Otherwise the first option is chosen.

The mappings for elements of IPMS.IPN.receipt-fields
(IPMS.ReceiptFields) are:

receipt-time
Mapped to EBNF.receipt-time

acknowledgement-mode
Mapped to EBNF.acknowledgement-mode

suppl-receipt-info
Mapped to EBNF.ipn-suppl

An example notification is:

From: Steve Kille <steve@cs.ucl.ac.uk>
To: Julian Onions <jpo@computer-science.nottingham.ac.uk>
Subject: X.400 Inter-personal Notification
Message-Type: InterPersonal Notification
References: <1229.614418325@UK.AC.NOTT.CS>
Date: Wed, 21 Jun 89 08:45:25 +0100

Your message to: Steve Kille <steve@cs.ucl.ac.uk>
was automatically forwarded.
The following comment was made:
Sent on to a random destination

The following information types were converted: g3fax

5.3.6. Mappings from the MTS Abstract Service

This section describes the MTS mappings for User Messages (IPM and
IPN). This mapping is defined by specifying the mapping of
MTS.MessageDeliveryEnvelope. The following extensions to RFC822 are
defined to support this mapping:

mts-field = "X400-MTS-Identifier" ":" mts-msg-id
/ "X400-Originator" ":" mailbox
/ "X400-Recipients" ":" 1#mailbox
/ "Original-Encoded-Information-Types" ":"
encoded-info
/ "X400-Content-Type" ":" mts-content-type
/ "Content-Identifier" ":" printablestring
/ "Priority" ":" priority
/ "Originator-Return-Address" ":" 1#mailbox
/ "DL-Expansion-History" ":" mailbox ";" date-time ";"
/ "Conversion" ":" prohibition
/ "Conversion-With-Loss" ":" prohibition
/ "Requested-Delivery-Method" ":"
1*( labelled-integer )
/ "Delivery-Date" ":" date-time
/ "Discarded-X400-MTS-Extensions" ":"
1#( oid / labelled-integer )

prohibition = "Prohibited" / "Allowed"

mts-msg-id = "[" global-id ";" *text "]"

mts-content-type = "P2" / labelled-integer
/ object-identifer

priority = "normal" / "non-urgent" / "urgent"

The mappings for each element of MTS.MessageDeliveryEnvelope can now
be considered.

MTS.MessageDeliveryEnvelope.message-delivery-identifier
Mapped to the extended RFC822 field "X400-MTS-Identifier:".

MTS.MessageDeliveryEnvelope.message-delivery-time
Discarded, as this time will be represented in an
appropriate trace element.

The mappings for elements of
MTS.MessageDeliveryEnvelope.other-fields
(MTS.OtherMessageDeliveryFields) are:

content-type
Mapped to the extended RFC822 field "X400-Content-Type:".
The string "P2" is retained for backwards compatibility with
RFC987. This shall not be generated, and either the
EBNF.labelled-integer or EBNF.object-identifier encoding
used.

originator-name
Mapped to the 822-MTS originator, and to the extended RFC
822 field "X400-Originator:". This is described in
Section 4.6.2.

original-encoded-information-types
Mapped to the extended RFC822 field
"Original-Encoded-Information-Types:".

priority
Mapped to the extended RFC822 field "Priority:".

delivery-flags
If the conversion-prohibited bit is set, add an extended RFC
822 field "Conversion:".

this-recipient-name and other-recipient-names

originally-intended-recipient-name
The handling of these elements is described in
Section 4.6.2.

converted-encoded-information-types
Discarded, as it will always be IA5 only.

message-submission-time
Mapped to Date:.

content-identifier
Mapped to the extended RFC822 field "Content-Identifier:".

If any extensions (MTS.MessageDeliveryEnvelope.other-
fields.extensions) are present, and they are marked as critical for
transfer or delivery, then the message shall be rejected. The
extensions (MTS.MessageDeliveryEnvelope.other-fields.extensions) are
mapped as follows.

conversion-with-loss-prohibited
If set to
MTS.ConversionWithLossProhibited.conversion-with-loss-prohibited,
then add the extended RFC822 field "Conversion-With-Loss:".

requested-delivery-method
Mapped to the extended RFC822 field
"Requested-Delivery-Method:".

originator-return-address
Mapped to the extended RFC822 field
"Originator-Return-Address:".

physical-forwarding-address-request
physical-delivery-modes
registered-mail-type
recipient-number-for-advice
physical-rendition-attributes
physical-delivery-report-request
physical-forwarding-prohibited

These elements are only appropriate for physical delivery.
They are represented as comments in the "X400-Recipients:"
field, as described in Section 4.6.2.2.

originator-certificate
message-token
content-confidentiality-algorithm-identifier
content-integrity-check
message-origin-authentication-check
message-security-label
proof-of-delivery-request

These elements imply use of security services not available
in the RFC822 environment. If they are marked as critical
for transfer or delivery, then the message shall be
rejected. Otherwise they are discarded.

redirection-history
This is described in Section 4.6.2.

dl-expansion-history
Each element is mapped to the extended RFC822 field
"DL-Expansion-History:". They shall be ordered in the
message header, so that the most recent expansion comes
first (same order as trace).

If any MTS (or MTA) Extensions not specified in X.400 are present,
and they are marked as critical for transfer or delivery, then the
message shall be rejected. If they are not so marked, they can
safely be discarded. The list of discarded fields shall be indicated
in the extended header "Discarded-X400-MTS-Extensions:".

5.3.7. Mappings from the MTA Abstract Service

There are some mappings at the MTA Abstract Service level which are
done for IPM and IPN. These can be derived from
MTA.MessageTransferEnvelope. The reasons for the mappings at this
level, and the violation of layering are:

- Allowing for multiple recipients to share a single RFC822
message

- Making the X.400 trace information available on the RFC822
side

- Making any information on deferred delivery available

The 822-MTS recipients are calculated from the full list of X.400
recipients. This is all of the members of
MTA.MessageTransferEnvelope.per-recipient-fields being passed through
the gateway, where the responsibility bit is set. In some cases, a
different RFC822 message would be calculated for each recipient, due
to differing service requests for each recipient. As discussed in
4.6.2..2, this specification allows either for multiple messages to
be generated, or for the per- recipient information to be discarded.

The following EBNF is defined for extended RFC822 headers:

mta-field = "X400-Received" ":" x400-trace
/ "Deferred-Delivery" ":" date-time

/ "Latest-Delivery-Time" ":" date-time

x400-trace = "by" md-and-mta ";"
[ "deferred until" date-time ";" ]
[ "converted" "(" encoded-info ")" ";" ]
[ "attempted" md-or-mta ";" ]
action-list
";" arrival-time

md-and-mta = [ "mta" mta "in" ] global-id
mta = word
arrival-time = date-time

md-or-mta = "MD" global-id
/ "MTA" mta

Action-list = 1#action
action = "Redirected"
/ "Expanded"
/ "Relayed"
/ "Rerouted"

Note the EBNF.mta is encoded as 822.word. If the character set does
no allow encoding as 822.atom, the 822.quoted-string encoding is
used.

If MTA.PerMessageTransferFields.deferred-delivery-time is present, it
is used to generate a Deferred-Delivery: field. For some reason,
X.400 does not make this information available at the MTS level on
delivery. X.400 profiles, and in particular the CEN/CENELEC profile
for X.400(1984) [Systems85a], specify that this element must be
supported at the first MTA. If it is not, the function may
optionally be implemented by the gateway: that is, the gateway may
hold the message until the time specified in the protocol element.
Thus, the value of this element will usually be in the past. For
this reason, the extended RFC822 field is primarily for information.

Merge MTA.PerMessageTransferFields.trace-information, and
MTA.PerMessageTransferFields.internal-trace-information to produce a
single ordered trace list. If Internal trace from other management
domains has not been stripped, this may require complex interleaving.
Where an element of internal trace and external trace are identical,
except for the MTA in the internal trace, only the internal trace
element shall be presented. Use this to generate a sequence of
"X400-Received:" fields. The only difference between external trace
and internal trace will be the extra MTA information in internal
trace elements.

When generating an RFC822 message all trace fields (X400-Received
and Received) shall be at the beginning of the header, before any
other fields. Trace shall be in chronological order, with the most
recent element at the front of the message. This ordering is
determined from the order of the fields, not from timestamps in the
trace, as there is no guarantee of clock synchronisation. A simple
example trace (external) is:

X400-Received: by /PRMD=UK.AC/ADMD=Gold 400/C=GB/ ; Relayed ;
Tue, 20 Jun 89 19:25:11 +0100

A more complex example (internal):

X400-Received: by mta "UK.AC.UCL.CS"
in /PRMD=UK.AC/ADMD=Gold 400/C=GB/ ;
deferred until Tue, 20 Jun 89 14:24:22 +0100 ;
converted (undefined, g3fax) ";" attempted /ADMD=Foo/C=GB/ ;
Relayed, Expanded, Redirected ; Tue, 20 Jun 89 19:25:11 +0100

5.3.8. Mappings from Report Delivery

Delivery reports are mapped at the MTS service level. This means
that only reports destined for the MTS user will be mapped. Some
additional services are also taken from the MTA service.

5.3.8.1. MTS Mappings

A Delivery Report service will be represented as
MTS.ReportDeliveryEnvelope, which comprises of per-report-fields
(MTS.PerReportDeliveryFields) and per-recipient-fields.

A message is generated with the following fields:

From:
An administrator at the gateway system. This is also the
822-MTS originator.

To: A mapping of the
MTA.ReportTransferEnvelope.report-destination-name. This is
also the 822-MTS recipient.

Message-Type:
Set to "Delivery Report".

Subject:
The EBNF for the subject line is:

subject-line = "Delivery-Report" "(" status ")"
[ "for" destination ]

status = "success" / "failure" / "success and failures"

destination = mailbox / "MTA" word

The format of the body of the message is defined to ensure that all
information is conveyed to the RFC822 user in a consistent manner.
The format is structured as if it was a message coming from X.400,
with the description in one body part, and a forwarded message
(return of content) in the second. This structure is useful to the
RFC822 recipient, as it enables the original message to be
extracted. The first body part is structured as follows:

1. A few lines giving keywords to indicate the original
message.

2. A human summary of the status of each recipient being
reported on.

3. A clearly marked section which contains detailed information
extracted from the report. This is marked clearly, as it
will not be comprehensible to the average user. It is
retained, as it may be critical to diagnosing an obscure
problem.

This section may be omitted in positive DRs, and it is
recommended that this is appropriate for most gateways.

dr-body-format = dr-summary <CRLF>
dr-recipients <CRLF>
dr-administrator-info-envelope <CRLF>
dr-content-return

dr-content-return = "The Original Message is not available"
/ "The Original Message follows:"

dr-summary = "This report relates to your message:" <CRLF>
content-correlator <CRLF> <CRLF>
"of" date-time <CRLF> <CRLF>

dr-recipients = *(dr-recipient <CRLF> <CRLF>)

dr-recipient = dr-recip-success / dr-recip-failure

dr-recip-success =
"Your message was successfully delivered to:"
mailbox "at" date-time

dr-recip-failure = "Your message was not delivered to:"
mailbox <CRLF>
"for the following reason:" *word

dr-administrator-info-envelope = 3*( "*" text <CRLF> )

dr-administrator-info =
"**** The following information is directed towards"
"the local administrator" <CRLF>
"**** and is not intended for the end user" <CRLF> <CRLF>
"DR generated by:" report-point <CRLF>
"at" date-time <CRLF> <CRLF>
"Converted to RFC822 at" mta <CRLF>
"at" date-time <CRLF> <CRLF>
"Delivery Report Contents:" <CRLF> <CRLF>
drc-field-list <CRLF>
"***** End of administration information"

drc-field-list = *(drc-field <CRLF>)

drc-field = "Subject-Submision-Identifier" ":"
mts-msg-id
/ "Content-Identifier" ":" printablestring
/ "Content-Type" ":" mts-content-type
/ "Original-Encoded-Information-Types" ":"
encoded-info
/ "Originator-and-DL-Expansion-History" ":"
dl-history
/ "Reporting-DL-Name" ":" mailbox
/ "Content-Correlator" ":" content-correlator
/ "Recipient-Info" ":" recipient-info
/ "Subject-Intermediate-Trace-Information" ":"
x400-trace

recipient-info = mailbox "," std-or ";"
report-type
[ "converted eits" encoded-info ";" ]
[ "originally intended recipient"
mailbox "," std-or ";" ]
[ "last trace" [ encoded-info ] date-time ";" ]

[ "supplementary info" <"> printablestring <"> ";" ]
[ "redirection history" 1#redirection ";"
[ "physical forwarding address"
printablestring ";" ]

report-type = "SUCCESS" drc-success
/ "FAILURE" drc-failure

drc-success = "delivered at" date-time ";"
[ "type of MTS user" labelled-integer ";" ]

drc-failure = "reason" labelled-integer ";"
[ "diagnostic" labelled-integer ";" ]

report-point = [ "mta" word "in" ] global-id
content-correlator = *word
dl-history = 1#( mailbox "(" date-time ")")

The format is defined as a fixed definition of an the outer level
(EBNF.dr-body-format). The element EBNF.dr-administrator-info-
envelope, provides a means of encapsulating a section of the header
in a manner which is clear to the end user. Each line of this
section begins with "*". Each element of EBNF.text within %EBNF.dr-
administrator-info-envelope must not contain <CRLF>. This is used to
wrap up EBNF.dr-administrator-info, which will generate a sequenece
of lines not starting with "*". EBNF.drc-fields may be folded using
the RFC822 folding rules.

The elements of MTS.ReportDeliveryEnvelope.per-report-fields are
mapped as follows onto extended RFC822 fields:

subject-submission-identifier
Mapped to EBNF.drc-field (Subject-Submission-Identifier)

content-identifier
Mapped to EBNF.drc-field (Content-Identifier). This should
also be used in EBNF.dr-summary if there is no Content
Correlator present.

content-type
Mapped to EBNF.drc-field (Content-Type)

original-encoded-information-types
Mapped to EBNF.drc-field (Encoded-Info)

The extensions from MTS.ReportDeliveryEnvelope.per-report-
fields.extensions are mapped as follows:

originator-and-DL-expansion-history
Mapped to EBNF.drc-field (Originator-and-DL-Expansion-
History)

reporting-DL-name
Mapped to EBNF.drc-field (Reporting-DL-Name)

content-correlator
Mapped to EBNF.content-correlator, provided that the
encoding is IA5String (this will always be the case). This
is used in EBNF.dr-summary and EBNF.drc-field-list. In the
former, LWSP may be added, in order to improve the layout of
the message.

message-security-label reporting-MTA-certificate report-origin-
authentication-check

These security parameters will not be present unless there
is an error in a remote MTA. If they are present, they
shall be discarded in preference to discarding the whole
report.

For each element of MTS.ReportDeliveryEnvelope.per-recipient-fields,
a value of EBNF.dr-recipient, and an EBNF.drc-field (Recipient-Info)
is generated. The components are mapped as follows.

actual-recipient-name
Used to generate the first EBNF.mailbox and EBNF.std-or in
EBNF.recipient-info. Both RFC822 and X.400 forms are
given, as there may be a problem in the mapping tables. It
also generates the EBNF.mailbox in EBNF.dr-recip-success or
EBNF.dr-recip-failure.

report
If it is MTS.Report.delivery, then set EBNF.dr-recipient to
EBNF.dr-recip-success, and similarly set EBNF.report-type,
filling in EBNF.drc-success. If it is a failure, set
EBNF.dr-recipient to EBNF.dr-recip-failure, making a human
interpretation of the reason and diagnostic codes, and
including any supplementary information. EBNF.drc-failure
is filled in systematically.

converted-encoded-information-types
Set EBNF.drc-field ("converted eits")

originally-intended-recipient
Set the second ("originally intended recipient") mailbox and
std-or in EBNF.drc-field.

supplementary-info
Set EBNF.drc-field ("supplementary info"), and include this
information in EBNF.dr-recip-failure.

redirection-history
Set EBNF.drc-field ("redirection history")

physical-forwarding-address
Set ENBF.drc-field ("physical forwarding address")

recipient-certificate
Discard

proof-of-delivery
Discard

Any unknown extensions shall be discarded, irrespective of
criticality.

The original message, or an extract from it, shall be included in the
delivery port if it is available. The original message will usually
be available at the gateway, as discussed in Section 5.2. If the
original message is available, but of erroneous format, a dump of the
ASN.1 may be included. This is recommended, but not required.

5.3.8.2. MTA Mappings

The single 822-MTS recipient is constructed from
MTA.ReportTransferEnvelope.report-destination-name, using the
mappings of Chapter 4. Unlike with a user message, this information
is not available at the MTS level.

The following additional mappings are made:

MTA.ReportTransferEnvelope.report-destination-name
This is used to generate the To: field.

MTA.ReportTransferEnvelope.identifier
Mapped to the extended RFC822 field "X400-MTS-Identifier:".
It may also be used to derive a "Message-Id:" field.

MTA.ReportTransferEnvelope.trace-information
and

MTA.ReportTransferEnvelope.internal-trace-information
Mapped onto the extended RFC822 field "X400-Received:", as
described in Section 5.3.7. The first element is also used
to generate the "Date:" field, and the EBNF.report-point.

MTA.PerRecipientReportTransferFields.last-trace-information
Mapped to EBNF.recipient-info (last trace)

MTA.PerReportTransferFields.subject-intermediate-trace-
information Mapped to EBNF.drc-field (Subject-Intermediate-
Trace-Information). These fields are ordered so that the
most recent trace element comes first.

5.3.8.3. Example Delivery Reports

Example Delivery Report 1:

Return-Path: <postmaster@cs.ucl.ac.uk>
Received: from cs.ucl.ac.uk by bells.cs.ucl.ac.uk
via Delivery Reports Channel id <27699-0@bells.cs.ucl.ac.uk>;
Thu, 7 Feb 1991 15:48:39 +0000
From: UCL-CS MTA <postmaster@cs.ucl.ac.uk>
To: S.Kille@cs.ucl.ac.uk
Subject: Delivery Report (failure) for H.Hildegard@bbn.com
Message-Type: Delivery Report
Date: Thu, 7 Feb 1991 15:48:39 +0000
Message-ID: <"bells.cs.u.694:07.01.91.15.48.34"@cs.ucl.ac.uk>
Content-Identifier: Greetings.

------------------------------ Start of body part 1

This report relates to your message: Greetings.
of Thu, 7 Feb 1991 15:48:20 +0000

Your message was not delivered to
H.Hildegard@bbn.com for the following reason:
Bad Address
MTA 'bbn.com' gives error message (USER) Unknown user
name in "H.Hildegard@bbn.com"

***** The following information is directed towards the local
***** administrator and is not intended for the end user
*
* DR generated by mta bells.cs.ucl.ac.uk
* in /PRMD=uk.ac/ADMD=gold 400/C=gb/
* at Thu, 7 Feb 1991 15:48:34 +0000

*
* Converted to RFC822 at bells.cs.ucl.ac.uk
* at Thu, 7 Feb 1991 15:48:40 +0000
*
..... continued on next page

* Delivery Report Contents:
*
* Subject-Submission-Identifier:
* [/PRMD=uk.ac/ADMD=gold 400/C=gb/;<1803.665941698@UK.AC.UCL.CS>]
* Content-Identifier: Greetings.
* Subject-Intermediate-Trace-Information:
/PRMD=uk.ac/ADMD=gold 400/C=gb/;
* arrival Thu, 7 Feb 1991 15:48:20 +0000 action Relayed

* Subject-Intermediate-Trace-Information:
/PRMD=uk.ac/ADMD=gold 400/C=gb/;
* arrival Thu, 7 Feb 1991 15:48:18 +0000 action Relayed
* Recipient-Info: H.Hildegard@bbn.com,
* /RFC-822=H.Hildegard(a)bbn.com/OU=cs/O=ucl
/PRMD=uk.ac/ADMD=gold 400/C=gb/;
* FAILURE reason Unable-To-Transfer (1);
* diagnostic Unrecognised-ORName (0);
* last trace (ia5) Thu, 7 Feb 1991 15:48:18 +0000;
* supplementary info "MTA 'bbn.com' gives error message (USER)
* Unknown user name in "H.Hildegard@bbn.com"";
****** End of administration information

The Original Message follows:

------------------------------ Start of forwarded message 1

Received: from glenlivet.cs.ucl.ac.uk by bells.cs.ucl.ac.uk
with SMTP inbound id <27689-0@bells.cs.ucl.ac.uk>;
Thu, 7 Feb 1991 15:48:21 +0000
To: H.Hildegard@bbn.com
Subject: Greetings.
Phone: +44-71-380-7294
Date: Thu, 07 Feb 91 15:48:18 +0000
Message-ID: <1803.665941698@UK.AC.UCL.CS>
From: Steve Kille <S.Kille@cs.ucl.ac.uk>

Steve

------------------------------ End of forwarded message 1
Example Delivery Report 2:

Return-Path: <postmaster@cs.ucl.ac.uk>
Received: from cs.ucl.ac.uk by bells.cs.ucl.ac.uk
via Delivery Reports Channel id <27718-0@bells.cs.ucl.ac.uk>;
Thu, 7 Feb 1991 15:49:11 +0000
X400-Received: by mta bells.cs.ucl.ac.uk in
/PRMD=uk.ac/ADMD=gold 400/C=gb/;
Relayed; Thu, 7 Feb 1991 15:49:08 +0000
X400-Received: by /PRMD=DGC/ADMD=GOLD 400/C=GB/; Relayed;
Thu, 7 Feb 1991 15:48:40 +0000
From: UCL-CS MTA <postmaster@cs.ucl.ac.uk>
To: S.Kille@cs.ucl.ac.uk
Subject: Delivery Report (failure) for
j.nosuchuser@dle.cambridge.DGC.gold-400.gb
Message-Type: Delivery Report
Date: Thu, 7 Feb 1991 15:49:11 +0000
Message-ID: <"DLE/910207154840Z/000"@cs.ucl.ac.uk>
Content-Identifier: A useful mess...

This report relates to your message: A useful mess...
Your message was not delivered to
j.nosuchuser@dle.cambridge.DGC.gold-400.gb
for the following reason:
Bad Address
DG 21187: (CEO POA) Unknown addressee.

***** The following information is directed towards the local
***** administrator and is not intended for the end user
*
* DR generated by /PRMD=DGC/ADMD=GOLD 400/C=GB/
* at Thu, 7 Feb 1991 15:48:40 +0000
*
* Converted to RFC822 at bells.cs.ucl.ac.uk
* at Thu, 7 Feb 1991 15:49:12 +0000
*
* Delivery Report Contents:
*
* Subject-Submission-Identifier:
* [/PRMD=uk.ac/ADMD=gold 400/C=gb/;<1796.665941626@UK.AC.UCL.CS>]
* Content-Identifier: A useful mess...
* Recipient-Info: j.nosuchuser@dle.cambridge.DGC.gold-400.gb,
* /I=j/S=nosuchuser/OU=dle/O=cambridge/PRMD=DGC/ADMD=GOLD 400/C=GB/;
* FAILURE reason Unable-To-Transfer (1);
* diagnostic Unrecognised-ORName (0);
* supplementary info "DG 21187: (CEO POA) Unknown addressee.";
****** End of administration information

The Original Message is not available

5.3.9. Probe

This is an MTS internal issue. Any probe shall be serviced by the
gateway, as there is no equivalent RFC822 functionality. The value
of the reply is dependent on whether the gateway could service an MTS
Message with the values specified in the probe. The reply shall make
use of MTS.SupplementaryInformation to indicate that the probe was
serviced by the gateway.

Appendix A - Mappings Specific to SMTP

This Appendix is specific to the Simple Mail Transfer Protocol (RFC
821). It describes specific changes in the context of this protocol.
When servicing a probe, as described in section 5.3.9, use may be
made of the SMTP VRFY command to increase the accuracy of information
contained in the delivery report.

Appendix B - Mappings specific to the JNT Mail

This Appendix is specific to the JNT Mail Protocol. It describes
specific changes in the context of this protocol.

1. Introduction

There are five aspects of a gateway which are JNT Mail Specific.
These are each given a section of this appendix.

2. Domain Ordering

When interpreting and generating domains, the UK NRS domain
ordering shall be used, both in headers, and in text generated for
human description.

3. Addressing

A gateway which maps to JNT Mail should recognise the Domain
Defined Attribute JNT-MAIL. The value associated with this
attribute should be interpreted according to the JNT Mail
Specification. This DDA shall never be generated by a gateway.
For this reason, the overflow mechanism is not required.

4. Acknowledge-To:

This field has no direct functional equivalent in X.400. However,
it can be supported to an extent, and can be used to improve X.400
support.

If an Acknowledge-To: field is present when going from JNT Mail to

X.400, there are two different situations. The first case is
where there is one address in the Acknowledge-To: field, and it is
equal to the 822-MTS return address. In this case, the
MTS.PerRecipientSubmissionFields.originator-request-report.report
shall be set for each recipient, and the Acknowledge-To: field
discarded. Here, X.400 can provide the equivalent service.

In all other cases two actions are taken.

1. Acknowledgement(s) may be generated by the gateway. The
text of these acknowledgements shall indicate that they are
generated by the gateway, and do not correspond to delivery.

2. The Acknowledge-To: field shall be passed as an extension
heading.

When going from X.400 to JNT Mail, in cases where
MTA.PerRecipientMessageTransferFields.per-recipient-indicators.
originator-report bit is set for all recipients (i.e., there is a
user request for a positive delivery report for every recipeint),
generate an Acknowledge-To: field containing the
MTS.OtherMessageDeliveryFields.originator-name. Receipt
notification requests are not mapped onto Acknowledge-To:, as no
association can be guaranteed between IPMS and MTS level
addressing information.

5. Trace

JNT Mail trace uses the Via: syntax. When going from JNT Mail to
X.400, a mapping similar to that for Received: is used. No
MTS.GlobalDomainIdentifier of the site making the trace can be
derived from the Via:, so a value for the gateway is used. The
trace text, including the "Via:", is unfolded, truncated to
MTS.ub-mta-name-length (32), and mapped to
MTA.InternalTraceInformationElement.mta-name. There is no JNT
Mail specific mapping for the reverse direction.

6. Timezone specification

The extended syntax of zone defined in the JNT Mail Protocol shall
be used in the mapping of UTCTime defined in Chapter 3.

7. Lack of 822-MTS originator specification

In JNT Mail the default mapping of the
MTS.OtherMessageDeliveryFields.originator-name is to the Sender:
field. This can cause a problem when going from X.400 to JNT Mail
if the mapping of IPMS.Heading has already generated a Sender:

field. To overcome this, new extended JNT Mail field is defined.
This is chosen to align with the JNT recommendation for
interworking with full RFC822 systems [Kille84b].

original-sender = "Original-Sender" ":" mailbox

If an IPM has no IPMS.Heading.authorizing-users component and
IPMS.Heading.originator.formal-name is different from
MTS.OtherMessageDeliveryFields.originator-name, map
MTS.OtherMessageDeliveryFields.originator-name, onto the Sender:
field.

If an IPM has a IPMS.Heading.authorizing-users component, and
IPMS.Heading.originator.formal-name is different from
MTS.OtherMessageDeliveryFields.originator-name,
MTS.OtherMessageDeliveryFields.originator-name is mapped onto the
Sender: field, and IPMS.Heading.originator mapped onto the
Original-Sender: field.

In other cases the MTS.OtherMessageDeliveryFields.originator-name,
is already correctly represented.

Appendix C - Mappings specific to UUCP Mail

Gatewaying of UUCP and X.400 is handled by first gatewaying the UUCP
address into RFC822 syntax (using RFC976) and then gatewaying the
resulting RFC822 address into X.400. For example, an X.400 address

Country US
Organisation Xerox
Personal Name John Smith

might be expressed from UUCP as

inthop!gate!gatehost.COM!/C=US/O=Xerox/PN=John.Smith/

(assuming gate is a UUCP-ARPA gateway and gatehost.COM is an ARPA-
X.400 gateway) or

inthop!gate!Xerox.COM!John.Smith

(assuming that Xerox.COM and /C=US/O=Xerox/ are equivalent.)

In the other direction, a UUCP address Smith@ATT.COM, integrated into
822, would be handled as any other 822 address. A non-integrated
address such as inthop!dest!user might be handled through a pair of
gateways:

Country US
ADMD ATT
PRMD ARPA
Organisation GateOrg
RFC-822 inthop!dest!user@gatehost.COM

or through a single X.400 to UUCP gateway:

Country US
ADMD ATT
PRMD UUCP
Organisation GateOrg
RFC-822 inthop!dest!user

Appendix D - Object Identifier Assignment

An object identifier is needed for the extension IPMS element. The
following value shall be used.

rfc-987-88 OBJECT IDENTIFIER ::=
{ccitt data(9) pss(2342) ucl(234219200300) rfc-987-88(200)}

id-rfc-822-field-list OBJECT IDENTIFIER ::= {rfc987-88 field(1)}

Appendix E - BNF Summary

boolean = "TRUE" / "FALSE"

numericstring = *DIGIT

printablestring = *( ps-char )
ps-restricted-char = 1DIGIT / 1ALPHA / " " / "'" / "+"
/ "," / "-" / "." / "/" / ":" / "=" / "?"
ps-delim = "(" / ")"
ps-char = ps-delim / ps-restricted-char

ps-encoded = *( ps-restricted-char / ps-encoded-char )
ps-encoded-char = "(a)" ; (@)
/ "(p)" ; (%)
/ "(b)" ; (!)
/ "(q)" ; (")
/ "(u)" ; (_)
/ "(l)" ; "("
/ "(r)" ; ")"
/ "(" 3DIGIT ")"

teletex-string = *( ps-char / t61-encoded )
t61-encoded = "{" 1* t61-encoded-char "}"
t61-encoded-char = 3DIGIT

teletex-and-or-ps = [ printablestring ] [ "*" teletex-string ]

labelled-integer ::= [ key-string ] "(" numericstring ")"

key-string = *key-char
key-char = <a-z, A-Z, 0-9, and "-">

object-identifier ::= oid-comp object-identifier
| oid-comp

oid-comp ::= [ key-string ] "(" numericstring ")"

encoded-info = 1#encoded-type

encoded-type = built-in-eit / object-identifier

built-in-eit = "Undefined" ; undefined (0)
/ "Telex" ; tLX (1)
/ "IA5-Text" ; iA5Text (2)
/ "G3-Fax" ; g3Fax (3)
/ "TIF0" ; tIF0 (4)
/ "Teletex" ; tTX (5)
/ "Videotex" ; videotex (6)
/ "Voice" ; voice (7)
/ "SFD" ; sFD (8)
/ "TIF1" ; tIF1 (9)

encoded-pn = [ given "." ] *( initial "." ) surname

given = 2*<ps-char not including ".">

initial = ALPHA

surname = printablestring

std-or-address = 1*( "/" attribute "=" value ) "/"
attribute = standard-type
/ "RFC-822"
/ registered-dd-type

/ dd-key "." std-printablestring
standard-type = key-string

registered-dd-type
= key-string
dd-key = key-string

value = std-printablestring

std-printablestring
= *( std-char / std-pair )
std-char = <"{", "}", "*", and any ps-char
except "/" and "=">
std-pair = "$" ps-char

dmn-or-address = dmn-part *( "." dmn-part )
dmn-part = attribute "$" value
attribute = standard-type
/ "~" dmn-printablestring
value = dmn-printablestring
/ "@"
dmn-printablestring =
= *( dmn-char / dmn-pair )
dmn-char = <"{", "}", "*", and any ps-char
except ".">
dmn-pair = "\."

global-id = std-or-address

mta-field = "X400-Received" ":" x400-trace
/ "Deferred-Delivery" ":" date-time
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容