draft of Simple Junk Mail Declaration Protocol
David Nicol <[email protected]> Fri, 28 May 2004 16:20:59 -0500
| Newsgroups | gmane.ietf.asrg.filtering |
|---|---|
| Organization | tipjar LLC |
| Message-ID | <[email protected]> |
I have written a description of a simple protocol. The front matter, back matter, abstract are missing. It is available at http://zarquon.advenge.com/RFCwiki/view?doc=AI as well as appearing attached to this message. -- [email protected] "There's a fine line between participation and mockery" -- Scott Adams Simple Junk Mail Declaration Protocol ===================================== Front Matter 1 introduction 2 definition of "Shared Designation Engine" 3 downstream communication 3.1 Is-Junk 3.2 Is-Not-Junk 4 upstream communication 4.1 If-Junk 4.2 If-Not-Junk 5 Compliance 5.1 MTA Compliance 5.1.1 headers appearing in outgoing messages 5.1.2 lifetime of keyed URLs 5.1.3 accepting authorized advice 5.1.4 rejecting non-authorized advice 5.1.4.1 by mailto 5.1.4.2 by hypertext 5.1.5 renaming pre-existing headers in incoming messages 5.1.5.1 exception to renaming/deleting 5.1.5.1.1 exception to exception 5.1.6 support for legacy SDEs 5.1.6.1 legacy downstream communication 5.1.6.2 legacy upstream communication 5.2 MUA Compliance 5.2.1 compiance of current installed software 6 Difficult Scenarios 6.1 Foreign SJMDP 6.2 multiple designation engines 7 Back Matter ------------------------------------------------------------------------ .Front Matter standard internet draft front matter goes here 1.introduction Four RFC2822 headers are proposed, to appear in mutually exclusive pairs, concerning designation of messages as junk or not-junk and communicating methods of tuning the designation engines. 2.definition of "Shared Designation Engine" A "Designation Engine" is a component of a messaging system that is designates if a given message is or is not junk. The Shared Designation Engine described in this document is used by multiple individual natural persons who subscribe to it to advise their e-mail software to classify certain messages as junk. 3. downstream communication Communication of a junk status designation from messaging system to user software is provided with either an Is-Junk or an Is-Not-Junk header. Both headers are of the form HEADERNAME: EXPLANATION where HEADERNAME is either Is-Junk or Is-Not-Junk and EXPLANATION is either an extended explanation of the process used to arrive at the designation or a hypertext URL which, when accessed, will provide such an explanation. When the explanation is an URL, it may expire. (see section 5.1.2) 3.1. Is-Junk Is-Junk: EXPLANATION The appearance of an Is-Junk header should be sufficient cause for a MUA application to file a message as Junk. SJMDP-compliant messaging systems MUST include this header when appropriate. 3.2. Is-Not-Junk Is-Not-Junk: EXPLANATION The appearance of an Is-Not-Junk header should be sufficient cause for a MUA application to treat a message as Not Junk. This header is optional. 4. upstream communication Communication of a junk status designation change request from user to messaging system software is accomplished via a method described in an If-Junk or If-Not-Junk header. Both headers are of the form HEADERNAME: METHOD where HEADERNAME is either If-Junk or If-Not-Junk and METHOD is either an e-mail address prefixed with "mailto:" or a hypertext URL which, when accessed, will communicate the status designation change request. The reclassification instruction may be of the form "mailto: [email protected]" in which case the message it to be delivered unmodified via SMTP to the provided e-mail address, or the reclassification instruction may be a hypertext URL containing enough data encoded in it to be an effective reclassification instruction. When the reclassification instruction mechanism is an URL, it may expire. (see section 5.1.2) 4.1. If-Junk The If-Junk header is associated with the Is-Not-Junk header, and provides a mechanism to request classification of messages such as the one in which it appears as Junk in the future. The If-Junk header SHOULD NOT appear in messages that are, according to local policy, never to be classified as junk. The If-Junk header MUST NOT appear in messages that are already classified as junk. 4.2. If-Not-Junk The If-Not-Junk header is associated with the Is-Junk header, and provides a mechanism for the MUA to request classification messages such as the one in which it appears as Not-Junk in the future. The If-Not-Junk header MUST NOT appear in messages that are not classified as junk. 5.Compliance New MUA and MTA/MDA software written to comply with this standard should interoperate, in that the JUNK/NOT-JUNK button will communicate tuning requests to the correct shared designation engine in a way it can understand, with a minimum of configuration. 5.1. MTA Compliance SJMDP-compliant software upstream of the end-user inserts SJMDP headers into messages passing through, or delivered by, it. SJMDP compliant messaging software MUST rename or delete pre-existing SJMDP headers. The engine tuning instructions provided in any particular message MUST match the engine used to provide the designation. (see 6.2) 5.1.1. headers appearing in outgoing messages All SJMDP headers SHOULD be deleted from outgoing messages. Forwarding is not "outgoing" but rather is a form of delivery. (see section 6.1.) 5.1.2.lifetime of keyed URLs When the URL forms of explanation and method are used, the URL may encode the full explanation, or the full modifications that would be made to the SDE, in a form that will simply be expanded, or the URL may include a key into a database, or a combination of these approaches. When a key system is used, URLs should be valid for at least a week. 5.1.3.accepting authorized advice SDEs using the "mailto" upstream communication method MUST accept tuning instructions as MIME attachments as well as resent messages 5.1.4.rejecting non-authorized advice SJMDP-compliant shared designation engines SHOULD NOT accept tuning instructions except from the mailbox owners who share the given designation engine. 5.1.4.1. by mailto SMTP AUTH or network address checks should be adequate, expiring capability keys can be appended to tuning reporting addresses as well. 5.1.4.2. by hypertext Embedding expiring capability keys into secure hypertext https: METHODs should be more than adequate. 5.1.5. renaming pre-existing headers in incoming messages SJMP compliant messaging software MAY rename SJMP headers instead of deleting them. When renaming is performed, vendors SHOULD follow the conventions X-VENDORSTRING-Renamed-Is-(Not-)-Junk: EXPLANATION and X-VENDORSTRING-Renamed-If-(Not-)-Junk: METHOD VENDORSTRING SHOULD include information identifying the SJMDP software as well as the identity of the installation, for instance X-Advenge-DE-3-14-Folderol-Example-Net-Renamed-Is-Junk: http://listserv.example.org:9999/poiuytrew would indicate that the Advenge Designation Engine version 3.14 running on folderol.example.net renamed an Is-Junk header with a keyed explanation URL. When a renaming SJMDP engine encounters its own VENDORSTRING while rewriting SJMDP headers, it SHOULD double it. 5.1.5.1. exception to renaming/deleting When the owner of the mailbox to which delivery is being made has specified the source of the message as trusted for purposes of SJMDP (section 6.1), SJMDP classification and designation MUST NOT be performed. 5.1.5.1.1. exception to exception SJMDP information MAY be added to a message arriving from a trusted source for a mailbox with an exception when no SJMDP headers are in the message already. 5.1.6.support for legacy SDEs Compliant MUA software SHOULD offer configuration options to support non-compliant shared designation engines. 5.1.6.1. legacy downstream communication Compliant MUA software SHOULD offer configuration options to supoprt classificiation of incoming messages as junk/not-junk based on appearance of and information contained in arbitrary specifiable headers. 5.1.6.2. legacy upstream communication Compliant MUA software SHOULD allow the user to set e-mail addresses to which Junk and Non-Junk should be forwarded on user identification of misclassified junk and non-junk. 5.2. MUA Compliance A compliant mail user agent software * MUST offer a way to configure a sorting or delivery rule based on appearance or non-appearance of the SJMDP Is* headers * MUST correctly implement the designation engine tuning methods described * SHOULD offer an easy way to view expansions of URL-style explanations and methoda 5.2.1. compiance of current installed software MUA software MAY satisfy compliance criteria by allowing views of full e-mail headers and/or message source code All MTA software that offers message filing based on appearance of arbitrary headers is therefore technically compliant, when associated with web browsers and SMTP-capable telnet software, or with a SDE that accepts tuning requests as attachments (section 5.1.3) 6.Difficult Scenarios 6.1.Foreign SJMDP A designation engine SHOULD offer a per-mailbox configuration option in which a mailbox can be designated as not participating in SJMDP, to support users who are having their messages forwarded from a trusted non-local SJMDP service. Opting out of SJMDP header rewriting SHOULD be configurable based on SMTP peer network addresses or HELO/EHLO identifiers or some other SMTP peer identification criteria. 6.2. multiple designation engines Some messaging evironments have different factions of users with differing is-junk/is-not-junk criteria. SJMDP does not allow for multiple results on different spectra to be provided via SJMDP. Vendors of compliant designation engines MAY provide information about designations other than the one to which a user is subscribed. Vendors who choose to do so SHOULD follow the convention X-VENDORSTRING-Is-(Not-)-Junk-Enginename: EXPLANATION to facilitate users selecting an active engine for their individual accounts from among the several available named designation engines. Vendors of SJMDP-compliant MUA software MAY recognize this convention and incorporate it into the user configuration interface, perhaps by preloading such headers that appear in a message into a message filing rule creation or editing dialogue menu. Designation engine software SHOULD NOT include tuning methods for engines other than the one to which a user is subscribed. 7.Back Matter author info, bibliography David Nicol TipJar LLC Post Office Box 45163 Kansas City, Missouri 64171 USA ------------------------------------------------------------------------ The RFCwiki tool is cheerfully maintained by David L. Nicoltipjar tip jarYour direct support is appreciated post office box 45163 Kansas City, Missouri 64171-8163 United States of America