rfc-1985

SMTP Service Extension for Remote Message Queue Starting

J. De Winter
date1996-08 streamLegacy statusPROPOSED STANDARD pages7 canonicalhttps://www.rfc-editor.org/rfc/rfc1985 doi10.17487/RFC1985 errataview
This memo defines an extension to the SMTP service whereby an SMTP client and server may interact to give the server an opportunity to start the processing of its queues for messages to go to a given host. [STANDARDS-TRACK]

Extracted elements (18)

design-rationale §3

ETRN is designed as 'a more immediate version of the retry queues' in SMTP: the server starts a new outbound connection on demand rather than reversing the existing connection, preserving standard SMTP authentication and trust semantics while satisfying both transient-connection cost-saving and time-sensitive delivery use cases.

email

design-rationale §1

ETRN replaces the TURN command because TURN reversed the SMTP connection direction without verifying the remote host's identity, allowing a rogue system to download mail intended for another site. ETRN addresses this by having the server initiate a new outbound SMTP connection to the requesting host, giving the server greater certainty it is contacting the correct client.

email, security

interoperability-note §6

A minimal ETRN client may use only its own hostname parameter; this will not handle cases where mail for a domain 'x.y' is queued at the server under a different name (e.g., 's.x.y'). Aliases and the '@' option are needed for full coverage.

email

interoperability-note §6

A minimal ETRN server may trigger processing of queues for all remote sites on any ETRN request, always returning 250 and never returning 458. Such an implementation does not need per-node access controls.

email

normative-requirement §5.2 SHOULD NOT

If a 500-level error is received in response to ETRN, the client should assume the extension is unsupported or incorrectly implemented and should not send additional ETRN commands (including alias variants) in that session.

email

normative-requirement §5.2 MAY

If the client receives a 250 response, it may assume the server found the request satisfactory and will send any queued messages, though the process may involve a large retry queue and take time.

email

normative-requirement §5.1 SHOULD

On receipt of ETRN, the server should examine the node name and make a local decision whether to honour the request; if not, it should return the appropriate error code. If honoured, the server should force its retry queues to start sending messages to the remote site via a new SMTP connection.

email

normative-requirement §5.1 SHOULD

Since queue processing may take an indeterminate amount of time, the ETRN command should return immediately with a response to the client; there is no requirement that the outbound connection must occur or that it must occur within a given time frame.

email

normative-requirement §5 MUST NOT

The ETRN command may be issued at any time once a session is established, but is illegal between a MAIL FROM: command and the end of the DATA commands and responses (i.e., not during an active transaction).

email

normative-requirement §5 MUST

The node name specified in ETRN must be a fully qualified domain name, which may refer to a CNAME or MX pointer in the DNS.

email, dns

normative-requirement §5.3 SHOULD

The server should enforce access controls on the '@' and '#' option characters, allowing only certain combinations per requesting node to prevent abuse such as releasing mail for the entire .com namespace.

email, security

protocol-element §5

The ETRN command takes a single parameter specifying the name of the client host(s) for which the server should start queue processing. Syntax: ETRN [<option character>]<node name><CR><LF>.

email

protocol-element §5.3

The '#' option character before the node name causes the parameter to be interpreted as a queue name rather than a domain name, enabling flush of implementation-specific queues (e.g., ETRN #uucp). The set of valid queue names is entirely a local matter and not discoverable by the client.

email

protocol-element §5.3

The '@' option character before the node name requests release of mail for an entire subdomain: ETRN @foo.com releases queued mail for foo.com and any subdomain thereof (e.g., fred.foo.com, a.b.c.d.foo.com).

email

protocol-element §5.1

Valid ETRN response codes are: 250 (queuing started), 251 (no messages waiting), 252 (pending messages started), 253 (n pending messages started), 458 (unable to queue), 459 (node not allowed with reason), 500 (syntax error), 501 (syntax error in parameters).

email

registry §2

This document registers the EHLO keyword 'ETRN' with no associated parameters, identifying the 'Remote Queue Processing Declaration' SMTP service extension.

email, registry

security-consideration §8

ETRN does not compromise existing SMTP/ESMTP security; it merely shortens the wait before queued messages are retried. The new-connection model means the server can apply normal DNS-based identity checks on the outbound session, unlike TURN which relied on the client's unverified self-identification.

email, security

security-consideration §8

Insufficient sanity-checking on the '@' subdomain option could cause severe congestion: a client requesting ETRN @com would trigger release of mail for every address ending in 'com'. Servers must restrict which combinations of option characters and node names each client is permitted to use.

email, security