MSGTRK pre-drafts
Eric Allman <[email protected]> Tue, 11 Jul 2000 09:55:07 -0700
| Newsgroups | gmane.ietf.msgtrk |
|---|---|
| Message-ID | <[email protected]> |
Enclosed are two "pre-drafts" -- they really aren't up for draft status yet, but I did want folks here get a glimpse of where they are going. eric
draft-ietf-msgtrk-smtpext.txt
(text/plain, 10.2 KB)
Internet Draft E. Allman
draft-ietf-msgtrk-smtpext-00.txt Sendmail, Inc.
Valid for six months July XXX, 2000
SMTP Service Extension
for Message Tracking
<draft-ietf-msgtrk-smtpext-00.txt>
Status of This Memo
This document is an Internet-Draft and is in full conformance
with all provisions of Section 10 of RFC2026. Internet-Drafts are
working documents of the Internet Engineering Task Force (IETF), its
areas, and its working groups. Note that other groups may also dis-
tribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at:
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at:
http://www.ietf.org/shadow.html
IInntteerrnneett DDrraafftt MMeessssaaggee TTrraacckkiinngg EESSMMTTPP EExxtteennssiioonn JJuullyy XXXXXX,, 22000000
This document is a submission by the MSGTRK Working Group of the
Internet Engineering Task Force (IETF). Comments should be submitted
to the [email protected] mailing list. An archive of the mailing list
may be found at
http://www.ietf.org/archive/msgtrk
Distribution of this memo is unlimited.
11.. AAbbssttrraacctt
This memo defines an extension to the SMTP service whereby a
client may query an SMTP server for the status of a message.
22.. IInnttrroodduuccttiioonn
22..11.. GGooaallss
22..22.. OOtthheerr ddooccuummeennttss
draft-ietf-msgtrk-model-01.txt
draft-ietf-msgtrk-trkstat-01.txt
DSN
MDN
RFC 1894
AAllllmmaann [[PPaaggee 22]]
IInntteerrnneett DDrraafftt MMeessssaaggee TTrraacckkiinngg EESSMMTTPP EExxtteennssiioonn JJuullyy XXXXXX,, 22000000
22..33.. CCoonnffoorrmmaannccee
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
"SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described
in RFC 2119 [RFC-KEYWORDS].
33.. SSMMTTPP EExxtteennssiioonn OOvveerrvviieeww
The Message Tracking SMTP service extension uses the SMTP ser-
vice extension mechanism described in [XXX]. The following service
extension is hereby defined:
(1) The name of the SMTP service extension is "Message Track-
ing".
(2) The EHLO keyword value associated with this extension is
"MTRK".
(3) No parameters are allowed with this EHLO keyword value.
Future documents may extend this specification by specifying
options. XXX Should we indicate the maximum amount of time
this server is willing to hold tracking info?
(4) One optional parameter using the keyword "MTRK" is added to
the MAIL FROM command. In addition, the ENVID parameter (as
defined in RFC 1891 section 5.4) must be supported, with
extensions as described below.
AAllllmmaann [[PPaaggee 33]]
IInntteerrnneett DDrraafftt MMeessssaaggee TTrraacckkiinngg EESSMMTTPP EExxtteennssiioonn JJuullyy XXXXXX,, 22000000
(5) The maximum length of a MAIL FROM command line is increased
by XXX characters by the possible addition of the MTRK key-
word and value.
(6) One additional SMTP verb "MTRK" is defined by this exten-
sion.
33..11.. TThhee MMeessssaaggee TTrraacckkiinngg SSMMTTPP SSeerrvviiccee EExxtteennssiioonn
33..22.. XXXXXX aannyy mmooddeell iinnffoo wwee nneeeedd
44.. TThhee EExxtteennddeedd MMAAIILL FFRROOMM CCoommmmaanndd
The extended MAIL FROM command is issued by an SMTP client
when it wishes to inform an SMTP server that message tracking
information should be retained for a specified period. The
extended MAIL FROM command is identical to the MAIL FROM command as
defined in RFC 821 [XXX], except that a MTRK parameter appears
after the address.
44..11.. TThhee MMTTRRKK ppaarraammeetteerr ttoo tthhee EESSMMTTPP MMAAIILL ccoommmmaanndd
Any sender wishing to track a message must tag that message
as trackable using the MTRK parameter to the MAIL FROM command.
This parameter has the following syntax:
mtrk-parameter = "MTRK=" mtrk-certifier [ ":" mtrk-timeout ]
mtrk-certifier = base64 ; authenticator
mtrk-timeout = 1*9digit ; seconds until timeout
XXX need to import base64 from somewhere
AAllllmmaann [[PPaaggee 44]]
IInntteerrnneett DDrraafftt MMeessssaaggee TTrraacckkiinngg EESSMMTTPP EExxtteennssiioonn JJuullyy XXXXXX,, 22000000
The mtrk-timeout field indicates the number of seconds
until this tracking information will time out. Servers MAY
ignore this value if it violates local policy. [XXX see draft-
newman-deliver-03 for an explanation of why TTL instead of abso-
lute time]
The mtrk-certifier field is stored in the tracking database
and used to authenticate future tracking requests. XXX Need
expansion.
44..22.. UUssee ooff EENNVVIIDD
To function properly, Message Tracking requires that each
message have a unique identifier that is never reused by any
other message. For that purpose, if the MTRK parameter is
given, an ENVID parameter MUST be included, and the syntax of
ENVID from RFC 1891 section 5.4 is extended as follows:
envid-parameter = "ENVID=" unique-envid
unique-envid = xtext "@" fqhn
fqhn = xtext
Any retransmissions of this message MUST assign a new ENVID.
XXX define retransmission
55.. MMTTRRKK CCoommmmaanndd
The MTRK ESMTP command is used to request tracking status
information for a message that has previously been processed.
AAllllmmaann [[PPaaggee 55]]
IInntteerrnneett DDrraafftt MMeessssaaggee TTrraacckkiinngg EESSMMTTPP EExxtteennssiioonn JJuullyy XXXXXX,, 22000000
55..11.. CCoommmmaanndd ssyynnttaaxx
The syntax of the MTRK command is:
mtrk-command = "MTRK" LWSP unique-envid LWSP mtrk-authenticator
mtrk-authenticator = base64
The unique-envid corresponds to a message that may have
been previously seen by this MTA.
The mtrk-authenticator validates the rights of this sender
to request tracking information for the indicated unique-envid.
55..22.. CCoommmmaanndd sseemmaannttiiccss
The MTRK command behaves as follows:
(1) The indicated unique-envid is looked up in the local mes-
sage tracking database. If that key is not found, the
receiving MTA MUST immediately return a "no information"
5XXX response.
(2) If the unique-envid is found in the database, the stored
mtrk-certifier is compared against the transmitted mtrk-
authenticator by computing the hash of the unique-envid
concatenated with the mtrk-authenticator and comparing
that to the stored mtrk-certifier. If these do not
match, the sending MTA has not provided the correct mtrk-
authenticator, and the receiving MTA MUST immediately
return a "no information" 5XXX response.
AAllllmmaann [[PPaaggee 66]]
IInntteerrnneett DDrraafftt MMeessssaaggee TTrraacckkiinngg EESSMMTTPP EExxtteennssiioonn JJuullyy XXXXXX,, 22000000
(3) If the certification phase succeeds, the receiving MTA
returns a response as described below.
66.. RReessppoonnssee ssyynnttaaxx
The response syntax obeys standard SMTP response syntax. Each
line of response is prefixed with "250-2.5.6" (XXX the new 2.5.6
code must be standardized).
The content of the response is the body of a message/tracking-
status as defined in draft-ietf-msgtrk-trkstat-00.
XXX Side comment: I notice that 2034 doesn't exempt EXPN and
VRFY from enhanced status codes. This makes them potentially non-
parseable. This may not be a problem.
77.. EExxppiirriinngg SSttaattuuss IInnffoorrmmaattiioonn
Most hosts will want to expire tracking status information
after some amount of time. When a sending MTA requests that mes-
sage tracking information be kept, it may optionally ask for a spe-
cific timeout.
88.. SSeeccuurriittyy IIssssuueess
XXX who can track a message
Once a message is tracked, someone can sniff and re-use
AAllllmmaann [[PPaaggee 77]]
draft-ietf-msgtrk-trkstat.txt
(text/plain, 13.4 KB)
Internet Draft E. Allman
draft-ietf-msgtrk-trkstat-00.txt Sendmail, Inc.
Valid for six months July XXX, 2000
The Message/Tracking-Status MIME Extension
<draft-ietf-msgtrk-trkstat-00.txt>
Status of This Memo
This document is an Internet-Draft and is in full conformance
with all provisions of Section 10 of RFC2026. Internet-Drafts are
working documents of the Internet Engineering Task Force (IETF), its
areas, and its working groups. Note that other groups may also dis-
tribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at:
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at:
http://www.ietf.org/shadow.html
IInntteerrnneett DDrraafftt MMeessssaaggee//TTrraacckkiinngg--SSttaattuuss JJuullyy XXXXXX,, 22000000
This document is a submission by the MSGTRK Working Group of the
Internet Engineering Task Force (IETF). Comments should be submitted
to the [email protected] mailing list. An archive of the mailing list
may be found at
http://www.ietf.org/archive/msgtrk
Distribution of this memo is unlimited.
11.. AAbbssttrraacctt
This memo defines a MIME type for message tracking in the same
spirit as RFC 1894, ``An Extensible Message Format for Delivery
Status Notifications''. It is to be used in conjunction with
draft-ietf-msgtrk-smtpext-01.txt.
22.. IInnttrroodduuccttiioonn
This memo defines a MIME [XXX] content-type for reporting mes-
sage tracking status information. A tracking status is issued to a
requestor upon request. This memo defines only the format of the
status information. An extension to SMTP [XXX] to label messages
for further tracking and request tracking status is defined in a
separate memo [XXX].
22..11.. GGooaallss
Message Tracking is expected to be used to determine the
status of undelivered e-mail upon request. Tracking is used in
conjunction with Delivery Status Notifications [XXX]; generally,
AAllllmmaann [[PPaaggee 22]]
IInntteerrnneett DDrraafftt MMeessssaaggee//TTrraacckkiinngg--SSttaattuuss JJuullyy XXXXXX,, 22000000
a message tracking request will be issued only when a DSN has
not been received within a reasonable timeout period.
22..22.. OOtthheerr ddooccuummeennttss
draft-ietf-msgtrk-model-01.txt
RFC 1894. Sections 1.3 (Terminology), 2.1.1 (General con-
ventions for DSN fields), 2.1.2 ("*-type" subfields), 2.1.3
(Lexical tokens imported from RFC 822), 2.2.2 (The Reporting-MTA
DSN field), 2.3.5 (Remote-MTA field), and 2.XXX of RFC 1894 are
included by reference.
DSN
MDN
RFC 2119. The key words "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to bbe interpreted as
described in RFC 2119 [RFC-KEYWORDS].
33.. FFoorrmmaatt ooff aa MMeessssaaggee TTrraacckkiinngg SSttaattuuss NNoottiiffiiccaattiioonn
A MTSN can be returned as the body of an MTRK reply, or as a
subtype of a MIME message with a top-level content type of multi-
part/report (defined in [XXX]). When a multipart/report content is
used to transmit a MTSN:
(a) The report-type parameter of the multipart/report content is
"tracking-status".
AAllllmmaann [[PPaaggee 33]]
IInntteerrnneett DDrraafftt MMeessssaaggee//TTrraacckkiinngg--SSttaattuuss JJuullyy XXXXXX,, 22000000
(b) The first component of the multipart/report contains a human-
readable explanation of the MTSN, as described in [XXX].
(c) The second component of the multipart/report is of content-
type message/tracking-status, as defined in this document.
(d) If the original message or a portion of the message is to be
returned to the sender, it appears as the third component of
the multipart/report.
33..11.. TThhee mmeessssaaggee//ttrraacckkiinngg--ssttaattuuss ccoonntteenntt--ttyyppee
The message/tracking-status content-type is defined as fol-
lows:
MIME type name: message
MIME subtype name: tracking-status
Optional parameters: none
Encoding considerations: "7bit" encoding is sufficient and
MUST be used to maintain readability
when views by non-MIME mail readers.
Security considerations: discussed in section XXX of this memo.
The message/tracking-status report type for use in the multi-
part/report is "tracking-status".
The body of a message/tracking-status is modeled after RFC
1894, "An Extensible Message Format for Delivery Status Notifi-
cations". The body of a message/tracking-status consists of one
or more "fields" formatted to according to the ABNF of RFC 822
headers "fields" (see [XXX]). The per-message fields apear
first, followed by a blank line. Following the per-message
fields are one or more groups of per-recipient fields. Each
AAllllmmaann [[PPaaggee 44]]
IInntteerrnneett DDrraafftt MMeessssaaggee//TTrraacckkiinngg--SSttaattuuss JJuullyy XXXXXX,, 22000000
group of per-recipient fields is preceded by a blank line.
Using the ABNF of RFC 822, the syntax of the message/tracking-
status content is as follows:
tracking-status-content =
per-message-fields 1*( CRLF per-recipient-fields )
The per-message fields are described in section XXX. The per-
recipient fields are described in section XXX.
33..11..11.. GGeenneerraall ccoonnvveennttiioonnss ffoorr MMTTSSNN ffiieellddss
Section 2.1.1 of RFC 1894 (General conventions for DSN
fields) is included herein by reference. Notably, the defi-
nition of xtext is identical to that of RFC 1894.
33..11..22.. **--ttyyppee ssuubbffiieellddss
Section 2.1.2 of RFC 1894 (*-type subfields) is included
herein by reference. Notably, the definitions of address-
type, diagnostic-type, and MTA-name type are identical to
that of RFC 1894.
33..11..33.. LLeexxiiccaall ttookkeennss iimmppoorrtteedd ffrroomm RRFFCC 882222
The following lexical tokens, defined in [XXX], are used
in the ABNF grammar for MTSNs: atom, CHAR, comment, CR, CRLF,
DIGIT, LF, linear-white-space, SPACE, text. The date-time
lexical token is defined in [XXX].
AAllllmmaann [[PPaaggee 55]]
IInntteerrnneett DDrraafftt MMeessssaaggee//TTrraacckkiinngg--SSttaattuuss JJuullyy XXXXXX,, 22000000
33..22.. PPeerr--MMeessssaaggee MMTTSSNN FFiieellddss
Some fields of an MTSN apply to all of the addresses in a
single envelope. These fields may appear at most once in any
MTSN. These fields are used to correlate the MTSN with the
original message transaction and to provide additional informa-
tion which may be useful to gateways.
per-message-fields =
[ original-envelope-id-field CRLF ]
reporting-mta-field CRLF
[ arrival-date CRLF ]
*( extension-field CRLF )
33..22..11.. TThhee OOrriiggiinnaall--EEnnvveellooppee--IIdd ffiieelldd
The optional Original-Envelope-Id field is defined as in
section 2.2.1 of RFC 1894.
33..22..22.. TThhee RReeppoorrttiinngg--MMTTAA ffiieelldd
The Reporting-MTA field is defined as in section 2.2.2
of RFC 1894.
33..22..33.. TThhee AArrrriivvaall--DDaattee ffiieelldd
The Arrival-Date field is defined as in section 2.2.5 of
RFC 1894.
33..33.. PPeerr--RReecciippiieenntt MMTTSSNN ffiieellddss
An MTSN contains information about attempts to deliver a
message to one or more recipients. The delivery information for
AAllllmmaann [[PPaaggee 66]]
IInntteerrnneett DDrraafftt MMeessssaaggee//TTrraacckkiinngg--SSttaattuuss JJuullyy XXXXXX,, 22000000
any particular recipient is contained in a group of contiguous
per-recipient fields. Each group of per-recipient fields is
preceded by a blank line.
The syntax for the group of per-recipient fields is as fol-
lows:
per-recipient-fields =
[ original-recipient-field CRLF ]
final-recipient-field CRLF
action-field CRLF
status-field CRLF
[ remote-mta-field CRLF ]
[ last-attempt-date-field CRLF ]
[ will-retry-until-field CRLF ]
*( extension field CRLF )
33..33..11.. OOrriiggiinnaall--RReecciippiieenntt ffiieelldd
Section 2.3.1 XXX
33..33..22.. FFiinnaall--RReecciippiieenntt ffiieelldd
2.3.2 XXX
33..33..33.. AAccttiioonn ffiieelldd
The Action field indicates the action performed by the
Reporting-MTA as a result of its attempt to delivery the mes-
sage to this recipient address. This field MUST be present
for each recipient named in the MTSN. The syntax is as
defined in section 2.3.3 of RFC 1894. XXX Do we want to have
a "waiting for pickup" action?
AAllllmmaann [[PPaaggee 77]]
IInntteerrnneett DDrraafftt MMeessssaaggee//TTrraacckkiinngg--SSttaattuuss JJuullyy XXXXXX,, 22000000
33..33..44.. SSttaattuuss ffiieelldd The Status field is defined as in RFC
1894 section 2.3.4. A new code is added to RFC 1893,
"Enhanced Mail System Status Codes",
X.1.9 Message relayed to non-compliant mailer"
The mailbox address specified was valid, but the mes-
sage has been relayed to a system that does not speak
this protocol; no further information can be pro-
vided.
33..33..55.. RReemmoottee--MMTTAA ffiieelldd
Reference 2.3.5 XXX
33..33..66.. LLaasstt--AAtttteemmpptt--DDaattee ffiieelldd
Reference 2.3.7 XXX
33..33..77.. WWiillll--RReettrryy--UUnnttiill ffiieelldd Reference 2.3.8 XXX
33..44.. EExxtteennssiioonn ffiieellddss
Reference 2.4 XXX
33..55.. DDiiffffeerreenncceess ffrroomm RRFFCC 11889944
AAllllmmaann [[PPaaggee 88]]
IInntteerrnneett DDrraafftt MMeessssaaggee//TTrraacckkiinngg--SSttaattuuss JJuullyy XXXXXX,, 22000000
Original-Envelope-Id keep
Reporting-MTA keep
DSN-Gateway relevant?
Received-From-MTA keep?
Arrival-Date keep
Original-Recipient keep?
Final-Recipient keep
Action expand: need "queued". Is "expanded" relevant?
Status expand: need "relayed"
Remote-MTA keep
Diagnostic-Code drop
Last-Attempt keep
Will-Retry-Until keep
44.. SSeeccuurriittyy IIssssuueess
XXX To be completed.
AAllllmmaann [[PPaaggee 99]]