ietf-corpus

rfc-4468

Message Submission BURL Extension

C. Newman
date2006-05 streamIETF areaapp wglemonade statusPROPOSED STANDARD pages14 canonicalhttps://www.rfc-editor.org/rfc/rfc4468 doi10.17487/RFC4468 errataview
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. [STANDARDS-TRACK]

updated by

updates

Extracted elements (23)

design-rationale §3.1

BURL is restricted to the submission profile (port 587) and not permitted on port 25 relay servers because it requires a trust relationship between the submit server and an IMAP server, and because relay servers lack the per-user authentication context needed to safely resolve IMAP URLs on behalf of users.

email

interoperability-note §6 MUST

BURL clients MUST tolerate any valid SMTP response code; the response code examples in Section 6 are illustrative and the list is not exhaustive. Other response text may be used with the same codes.

email

interoperability-note §3.4

Pipelining of the AUTH command is only permitted if the selected SASL mechanism can be completed in one round trip with a client initial response and no SASL security layer negotiated; this applies to PLAIN and EXTERNAL but not most other SASL mechanisms.

email

normative-requirement §4 MUST

A submit server that advertises BURL MUST also advertise 8BITMIME and perform down conversion on the resulting complete message if 8-bit data is received with BURL and passed to a 7-bit server.

email

normative-requirement §3.1 MUST

Clients MUST ignore unrecognized arguments after the BURL EHLO keyword unless defined by a subsequent IETF standards track specification.

email

normative-requirement §3.3 MUST

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.

email

normative-requirement §3.3 MUST

The authentication identity and password used for submit credentials when connecting to the IMAP server MUST be configurable. The string 'submit' is suggested as a default authentication identity with no default password.

email

normative-requirement §3.1 MUST NOT

The BURL extension MUST NOT be advertised by a regular SMTP server on port 25 that acts as a relay for incoming mail; it is restricted to the message submission profile on port 587.

email

normative-requirement §3.3 MUST

The submit server MUST implement a configuration that uses STARTTLS followed by SASL PLAIN to authenticate to the IMAP server when acting as an IMAP client.

email, tls

normative-requirement §3.2 MUST

When CHUNKING and PIPELINING are both advertised, the client may pipeline the entire transaction in one round-trip but MUST wait for the results of the 'LAST' BDAT or BURL command prior to initiating a new transaction.

email

normative-requirement §3.3 SHOULD

When resolving a regular IMAP URL, the submit server SHOULD forward the client's credentials to the IMAP server if and only if the submit server knows the IMAP server is in the same administrative domain.

email

protocol-element §3.2

A BURL transaction consists of MAIL FROM, one or more RCPT TO commands, and a BURL command with the 'LAST' tag containing an IMAP URL pointing to a fully formed message. If no valid RCPT TO is supplied, BURL fails without resolving the URL.

email

protocol-element §3.1

The BURL extension adds a new SMTP verb 'BURL' used as a replacement for the DATA command. It is only permitted during a mail transaction after at least one successful RCPT TO, and accepts an absolute URI with an optional 'LAST' end-marker.

email

protocol-element §5

Two new enhanced status codes are defined: X.6.6 'Message content not available' (content could not be fetched from a remote system) and X.7.8 'Trust relationship required' (submission server lacks a configured trust relationship with a third-party server).

email, registry

protocol-element §3.3

When 'imap' appears in the BURL EHLO keyword arguments, it indicates the server supports the URLAUTH extended form of IMAP URLs and is configured with credentials to resolve 'urlauth=submit+' IMAP URLs for its domain.

email

registry §7

The 'BURL' SMTP extension has been registered in the SMTP extensions registry, marked for use by message submission (port 587) only, not for general SMTP relay use.

email, registry

security-consideration §8

A malicious authenticated user could supply a fraudulent IMAP URL pointing to a server they control to extract submit credentials. Mitigations include restricting submit credentials to a fixed set of trusted IMAP servers, treating IMAP servers as untrusted with buffer overflow and DoS defenses, and maintaining a secure audit trail.

email, security

security-consideration §8

BURL could be exploited by clients generating unsolicited bulk email or viruses to compensate for slow links, making programmable devices significant spam/virus sources. Submit servers must implement auditing, mandatory authentication, logging, URL reuse limits, rate limits, recipient limits, and content filters.

email, security

security-consideration §8

Implementations of BURL should fetch URL content prior to applying content-based security mechanisms (virus filtering, spam filtering, size limits, server signatures) in order to preserve their function.

email, security

security-consideration §8

Trust relationships between submit and IMAP servers must not use super-user proxy credentials, as a compromised submit server should not automatically compromise all IMAP accounts. URLAUTH-based access or a trusted third-party credential model (e.g., Kerberos 5) is preferred.

email, security

security-consideration §8

URLAUTH IMAP URLs transferred in the clear expose authorization tokens to eavesdroppers. Implementations should require SMTP STARTTLS and IMAP STARTTLS in combination when such URLs are used.

email, security, tls

security-consideration §8 SHOULD

When a client uses SMTP STARTTLS to send a BURL command referencing non-public information, the submission server SHOULD use STARTTLS or equivalent confidentiality when fetching the referenced URL content.

email, security, tls

wire-format §3.5

The BURL command syntax is: 'BURL' SP absolute-URI [SP end-marker] CRLF, where end-marker is the literal string 'LAST'. The burl-param EHLO argument is either 'imap' or 'imap://' followed by an authority.

email