5.3.1.1 Sending Strategy
Connected: An Internet Encyclopedia
5.3.1.1 Sending Strategy
Up:
Connected: An Internet Encyclopedia
Up:
Requests For Comments
Up:
RFC 1123
Up:
5. ELECTRONIC MAIL -- SMTP and RFC-822
Up:
5.3 SPECIFIC ISSUES
Up:
5.3.1 SMTP Queueing Strategies
Prev: 5.3.1 SMTP Queueing Strategies
Next: 5.3.1.2 Receiving strategy
5.3.1.1 Sending Strategy
5.3.1.1 Sending Strategy
The general model of a sender-SMTP is one or more processes
that periodically attempt to transmit outgoing mail. In a
typical system, the program that composes a message has some
method for requesting immediate attention for a new piece of
outgoing mail, while mail that cannot be transmitted
immediately MUST be queued and periodically retried by the
sender. A mail queue entry will include not only the
message itself but also the envelope information.
The sender MUST delay retrying a particular destination
after one attempt has failed. In general, the retry
interval SHOULD be at least 30 minutes; however, more
sophisticated and variable strategies will be beneficial
when the sender-SMTP can determine the reason for non-
delivery.
Retries continue until the message is transmitted or the
sender gives up; the give-up time generally needs to be at
least 4-5 days. The parameters to the retry algorithm MUST
be configurable.
A sender SHOULD keep a list of hosts it cannot reach and
corresponding timeouts, rather than just retrying queued
mail items.
- DISCUSSION:
Experience suggests that failures are typically
transient (the target system has crashed), favoring a
policy of two connection attempts in the first hour the
message is in the queue, and then backing off to once
every two or three hours.
The sender-SMTP can shorten the queueing delay by
cooperation with the receiver-SMTP. In particular, if
mail is received from a particular address, it is good
evidence that any mail queued for that host can now be
sent.
The strategy may be further modified as a result of
multiple addresses per host (see Section 5.3.4), to
optimize delivery time vs. resource usage.
A sender-SMTP may have a large queue of messages for
each unavailable destination host, and if it retried
all these messages in every retry cycle, there would be
excessive Internet overhead and the daemon would be
blocked for a long period. Note that an SMTP can
generally determine that a delivery attempt has failed
only after a timeout of a minute or more; a one minute
timeout per connection will result in a very large
delay if it is repeated for dozens or even hundreds of
queued messages.
When the same message is to be delivered to several users on
the same host, only one copy of the message SHOULD be
transmitted. That is, the sender-SMTP should use the
command sequence: RCPT, RCPT,... RCPT, DATA instead of the
sequence: RCPT, DATA, RCPT, DATA,... RCPT, DATA.
Implementation of this efficiency feature is strongly urged.
Similarly, the sender-SMTP MAY support multiple concurrent
outgoing mail transactions to achieve timely delivery.
However, some limit SHOULD be imposed to protect the host
from devoting all its resources to mail.
The use of the different addresses of a multihomed host is
discussed below.
Next: 5.3.1.2 Receiving strategy
Connected: An Internet Encyclopedia
5.3.1.1 Sending Strategy
|