Historically, all
mail transfer agents (MTAs) added their host name to the
reverse path. In the
Simple Mail Transfer Protocol (SMTP) this
reverse path is also known as , but paths were also used before and outside of SMTP, e.g. as
bang paths in
UUCP and
Usenet (Net-News). All news articles still contain a header, example: : The same information in an RFC 5321 e-mail
envelope - that is the SMTP info like - would be: • : • : The 1st step reflects the sender, the 2nd step the next MTA, etc. In this example, the 2nd MTA forwards the mail to a 3rd MTA, where it is finally delivered. The final MTA is also known as
Mail delivery agent (MDA), putting the mail into the mailbox of the recipient. The MDA transforms the
reverse path into the known header field: : SMTP uses
MX records for its forward routing. Explicit source routes as in... : ...to route mail from via MTA to MDA were cumbersome. In some cases, the
new (1982) style of addresses was mixed with old UUCP
bang paths in constructs like... ...and various other kludges. SMTP and MX records rendered this method unnecessary. Therefore,
source routing was deprecated in 1989 in RFC 1123. One special case in RFC 1123 are gateways from or to other networks like UUCP and NetNews, where the first sending MTA cannot reach the final receiver directly with
TCP. It is solved by MX records and if necessary rewriting foreign addresses at the gateway. "MX" is an abbreviation for "Mail eXchanger". Another special case are
mailing lists, where the list server rewrites all
reverse paths to its own error handling address for
bounces (error messages) by recipients. The list server could automatically unsubscribe bouncing recipients. This type of address rewriting is known since RFC 821 and still used today (RFC 5321, as well as RFC 2821, updated the SMTP chapter in RFC 1123). Forwarding to another address has always worked by rewriting the address in the
forward path also known as ,
if and only if the forwarding MTA accepted the responsibility for both forwarding the mail and returning potential bounce messages to the sender. RFC 821 and all later SMTP specifications offer two result codes for this situation: • • For privacy reasons, these result codes are today rarely used; they include the or . As noted, RFC 1123 deprecated source routing, thus implicitly deprecating the reverse routing of bounces. Since RFC 1123, forwarders to third parties still rewrite the address, but keep the as is. As a side effect, MTAs wishing to accept mail from forwarders generally accept any address. RFC 5321, as well as RFC 2821, states that
non-delivery reports (
bounces)
must be sent to the
originator as
indicated in the reverse path after an MTA accepted the responsibility for delivery. However, the bounce message may be suppressed when the original content is
hostile (cf. spam or virus mail) or the message is forged (RFC 5321, Section 6). Note that all current forgery detection methods
require the mailbox owner to supply information for them to work. Failing to supply the criteria should not make any bounce message classifiable as
backscatter, although some people mistakenly think it should.
Open relays and forwarders generally cannot guarantee that the address indicates the
originator, and cannot guarantee that final delivery will succeed. This SMTP problem caused as a side effect of RFC 1123 is addressed by
SPF. Receivers can arrange their forwarding in a way that works with SPF with a variety of strategies: • not checking SPF behind their border, e.g.
white list forwarders • rejecting, resulting in a bounce () • rewriting the at the forwarder (as done by mailing lists) Sender Rewriting Scheme (SRS) is one way for the third strategy. == See also ==