⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc4468.txt

📁 广泛使用的邮件服务器!同时
💻 TXT
📖 第 1 页 / 共 2 页
字号:
Network Working Group                                          C. NewmanRequest for Comments: 4468                              Sun MicrosystemsUpdates: 3463                                                   May 2006Category: Standards Track                   Message Submission BURL ExtensionStatus of This Memo   This document specifies an Internet standards track protocol for the   Internet community, and requests discussion and suggestions for   improvements.  Please refer to the current edition of the "Internet   Official Protocol Standards" (STD 1) for the standardization state   and status of this protocol.  Distribution of this memo is unlimited.Copyright Notice   Copyright (C) The Internet Society (2006).Abstract   The submission profile of Simple Mail Transfer Protocol (SMTP)   provides a standard way for an email client to submit a complete   message for delivery.  This specification extends the submission   profile by adding a new BURL command that can be used to fetch   submission data from an Internet Message Access Protocol (IMAP)   server.  This permits a mail client to inject content from an IMAP   server into the SMTP infrastructure without downloading it to the   client and uploading it back to the server.Newman                      Standards Track                     [Page 1]RFC 4468           Message Submission BURL Extension            May 2006Table of Contents   1. Introduction ....................................................2   2. Conventions Used in This Document ...............................2   3. BURL Submission Extension .......................................3      3.1. SMTP Submission Extension Registration .....................3      3.2. BURL Transaction ...........................................3      3.3. The BURL IMAP Options ......................................4      3.4. Examples ...................................................5      3.5. Formal Syntax ..............................................6   4. 8-Bit and Binary ................................................7   5. Updates to RFC 3463 .............................................7   6. Response Codes ..................................................7   7. IANA Considerations .............................................9   8. Security Considerations .........................................9   9. References .....................................................11      9.1. Normative References ......................................11      9.2. Informative References ....................................12   Appendix A.  Acknowledgements .....................................131.  Introduction   This specification defines an extension to the standard Message   Submission [RFC4409] protocol to permit data to be fetched from an   IMAP server at message submission time.  This MAY be used in   conjunction with the CHUNKING [RFC3030] mechanism so that chunks of   the message can come from an external IMAP server.  This provides the   ability to forward an email message without first downloading it to   the client.2.  Conventions Used in This Document   The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY"   in this document are to be interpreted as defined in "Key words for   use in RFCs to Indicate Requirement Levels" [RFC2119].   The formal syntax uses the Augmented Backus-Naur Form (ABNF)   [RFC4234] notation including the core rules defined in Appendix B of   RFC 4234.Newman                      Standards Track                     [Page 2]RFC 4468           Message Submission BURL Extension            May 20063.  BURL Submission Extension   This section defines the BURL submission extension.3.1.  SMTP Submission Extension Registration   1.  The name of this submission extension is "BURL".  This extends       the Message Submission protocol on port 587 and MUST NOT be       advertised by a regular SMTP [RFC2821] server on port 25 that       acts as a relay for incoming mail from other SMTP relays.   2.  The EHLO keyword value associated with the extension is "BURL".   3.  The BURL EHLO keyword will have zero or more arguments.  The only       argument defined at this time is the "imap" argument, which MUST       be present in order to use IMAP URLs with BURL.  Clients MUST       ignore other arguments after the BURL EHLO keyword unless they       are defined by a subsequent IETF standards track specification.       The arguments that appear after the BURL EHLO keyword may change       subsequent to the use of SMTP AUTH [RFC2554], so a server that       advertises BURL with no arguments prior to authentication       indicates that BURL is supported but authentication is required       to use it.   4.  This extension adds the BURL SMTP verb.  This verb is used as a       replacement for the DATA command and is only permitted during a       mail transaction after at least one successful RCPT TO.3.2.  BURL Transaction   A simple BURL transaction will consist of MAIL FROM, one or more RCPT   TO headers, and a BURL command with the "LAST" tag.  The BURL command   will include an IMAP URL pointing to a fully formed message ready for   injection into the SMTP infrastructure.  If PIPELINING [RFC2920] is   advertised, the client MAY send the entire transaction in one round   trip.  If no valid RCPT TO address is supplied, the BURL command will   simply fail, and no resolution of the BURL URL argument will be   performed.  If at least one valid RCPT TO address is supplied, then   the BURL URL argument will be resolved before the server responds to   the command.   A more sophisticated BURL transaction MAY occur when the server also   advertises CHUNKING [RFC3030].  In this case, the BURL and BDAT   commands may be interleaved until one of them terminates the   transaction with the "LAST" argument.  If PIPELINING [RFC2920] is   also advertised, then the client may pipeline the entire transaction   in one round-trip.  However, it MUST wait for the results of the   "LAST" BDAT or BURL command prior to initiating a new transaction.Newman                      Standards Track                     [Page 3]RFC 4468           Message Submission BURL Extension            May 2006   The BURL command directs the server to fetch the data object to which   the URL refers and include it in the message.  If the URL fetch   fails, the server will fail the entire transaction.3.3.  The BURL IMAP Options   When "imap" is present in the space-separated list of arguments   following the BURL EHLO keyword, it indicates that the BURL command   supports the URLAUTH [RFC4467] extended form of IMAP URLs [RFC2192]   and that the submit server is configured with the necessary   credentials to resolve "urlauth=submit+" IMAP URLs for the submit   server's domain.   Subsequent to a successful SMTP AUTH command, the submission server   MAY indicate a prearranged trust relationship with a specific IMAP   server by including a BURL EHLO keyword argument of the form   "imap://imap.example.com".  In this case, the submission server will   permit a regular IMAP URL referring to messages or parts of messages   on imap.example.com that the user who authenticated to the submit   server can access.  Note that this form does not imply that the   submit server supports URLAUTH URLs; the submit server must advertise   both "imap" and "imap://imap.example.com" to indicate support for   both extended and non-extended URL forms.   When the submit server connects to the IMAP server, it acts as an   IMAP client and thus is subject to both the mandatory-to-implement   IMAP capabilities in Section 6.1.1 of RFC 3501, and the security   considerations in Section 11 of RFC 3501.  Specifically, this   requires that the submit server implement a configuration that uses   STARTTLS followed by SASL PLAIN [SASL-PLAIN] to authenticate to the   IMAP server.   When the submit server resolves a URLAUTH IMAP URL, it uses submit   server credentials when authenticating to the IMAP server.  The   authentication identity and password used for submit credentials MUST   be configurable.  The string "submit" is suggested as a default value   for the authentication identity, with no default for the password.   Typically, the authorization identity is empty in this case; thus the   IMAP server will derive the authorization identity from the   authentication identity.  If the IMAP URL uses the "submit+" access   identifier prefix, the submit server MUST refuse the BURL command   unless the userid in the URL's <access> token matches the submit   client's authorization identity.   When the submit server resolves a regular IMAP URL, it uses the   submit client's authorization identity when authenticating to the   IMAP server.  If both the submit client and the submit server's   embedded IMAP client use SASL PLAIN (or the equivalent), the submitNewman                      Standards Track                     [Page 4]RFC 4468           Message Submission BURL Extension            May 2006   server SHOULD forward the client's credentials if and only if the   submit server knows that the IMAP server is in the same   administrative domain.  If the submit server supports SASL mechanisms   other than PLAIN, it MUST implement a configuration in which the   submit server's embedded IMAP client uses STARTTLS and SASL PLAIN   with the submit server's authentication identity and password (for   the respective IMAP server) and the submit client's authorization   identity.3.4.  Examples   In examples, "C:" and "S:" indicate lines sent by the client and   server, respectively.  If a single "C:" or "S:" label applies to   multiple lines, then the line breaks between those lines are for   editorial clarity only and are not part of the actual protocol   exchange.   Two successful submissions (without and with pipelining) follow:   <SSL/TLS encryption layer negotiated>   C: EHLO potter.example.com   S: 250-owlry.example.com   S: 250-8BITMIME   S: 250-BURL imap   S: 250-AUTH PLAIN   S: 250-DSN   S: 250 ENHANCEDSTATUSCODES   C: AUTH PLAIN aGFycnkAaGFycnkAYWNjaW8=   S: 235 2.7.0 PLAIN authentication successful.   C: MAIL FROM:<harry@gryffindor.example.com>   S: 250 2.5.0 Address Ok.   C: RCPT TO:<ron@gryffindor.example.com>   S: 250 2.1.5 ron@gryffindor.example.com OK.   C: BURL imap://harry@gryffindor.example.com/outbox           ;uidvalidity=1078863300/;uid=25;urlauth=submit+harry           :internal:91354a473744909de610943775f92038 LAST   S: 250 2.5.0 Ok.   <SSL/TLS encryption layer negotiated>   C: EHLO potter.example.com   S: 250-owlry.example.com   S: 250-8BITMIME   S: 250-PIPELINING   S: 250-BURL imap   S: 250-AUTH PLAIN   S: 250-DSN   S: 250 ENHANCEDSTATUSCODES   C: AUTH PLAIN aGFycnkAaGFycnkAYWNjaW8=Newman                      Standards Track                     [Page 5]RFC 4468           Message Submission BURL Extension            May 2006   C: MAIL FROM:<harry@gryffindor.example.com>   C: RCPT TO:<ron@gryffindor.example.com>   C: BURL imap://harry@gryffindor.example.com/outbox           ;uidvalidity=1078863300/;uid=25;urlauth=submit+harry           :internal:91354a473744909de610943775f92038 LAST   S: 235 2.7.0 PLAIN authentication successful.   S: 250 2.5.0 Address Ok.   S: 250 2.1.5 ron@gryffindor.example.com OK.   S: 250 2.5.0 Ok.   Note that PIPELINING of the AUTH command is only permitted if the   selected mechanism can be completed in one round trip, a client   initial response is provided, and no SASL security layer is   negotiated.  This is possible for PLAIN and EXTERNAL, but not for   most other SASL mechanisms.   Some examples of failure cases:   C: MAIL FROM:<harry@gryffindor.example.com>   C: RCPT TO:<malfoy@slitherin.example.com>   C: BURL imap://harry@gryffindor.example.com/outbox           ;uidvalidity=1078863300/;uid=25;urlauth=submit+harry           :internal:91354a473744909de610943775f92038 LAST   S: 250 2.5.0 Address Ok.   S: 550 5.7.1 Relaying not allowed: malfoy@slitherin.example.com   S: 554 5.5.0 No recipients have been specified.   C: MAIL FROM:<harry@gryffindor.example.com>   C: RCPT TO:<ron@gryffindor.example.com>   C: BURL imap://harry@gryffindor.example.com/outbox           ;uidvalidity=1078863300/;uid=25;urlauth=submit+harry           :internal:71354a473744909de610943775f92038 LAST   S: 250 2.5.0 Address Ok.   S: 250 2.1.5 ron@gryffindor.example.com OK.   S: 554 5.7.0 IMAP URL authorization failed3.5.  Formal Syntax   The following syntax specification inherits ABNF [RFC4234] and   Uniform Resource Identifiers [RFC3986].      burl-param  = "imap" / ("imap://" authority)                  ; parameter to BURL EHLO keyword      burl-cmd    = "BURL" SP absolute-URI [SP end-marker] CRLF      end-marker  = "LAST"Newman                      Standards Track                     [Page 6]RFC 4468           Message Submission BURL Extension            May 20064.  8-Bit and Binary   A submit server that advertises BURL MUST also advertise 8BITMIME   [RFC1652] and perform the down conversion described in that   specification on the resulting complete message if 8-bit data is   received with the BURL command and passed to a 7-bit server.  If the   URL argument to BURL refers to binary data, then the submit server   MAY refuse the command or down convert as described in Binary SMTP   [RFC3030].   The Submit server MAY refuse to accept a BURL command or combination   of BURL and BDAT commands that result in un-encoded 8-bit data in   mail or MIME [RFC2045] headers.  Alternatively, the server MAY accept   such data and down convert to MIME header encoding [RFC2047].5.  Updates to RFC 3463   SMTP or Submit servers that advertise ENHANCEDSTATUSCODES [RFC2034]   use enhanced status codes defined in RFC 3463 [RFC3463].  The BURL   extension introduces new error cases that that RFC did not consider.   The following additional enhanced status codes are defined by this   specification:   X.6.6 Message content not available      The message content could not be fetched from a remote system.      This may be useful as a permanent or persistent temporary      notification.   X.7.8 Trust relationship required      The submission server requires a configured trust relationship      with a third-party server in order to access the message content.6.  Response Codes   This section includes example response codes to the BURL command.   Other text may be used with the same response codes.  This list is   not exhaustive, and BURL clients MUST tolerate any valid SMTP   response code.  Most of these examples include the appropriate   enhanced status code [RFC3463].   554 5.5.0 No recipients have been specified      This response code occurs when BURL is used (for example, with      PIPELINING) and all RCPT TOs failed.Newman                      Standards Track                     [Page 7]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -