||This article includes a list of references, related reading or external links, but its sources remain unclear because it lacks inline citations. (June 2016) (Learn how and when to remove this template message)|
A bounce address is an email address to which bounce messages are delivered. There are many variants of the name, none of them used universally, including return path, reverse path, envelope from, envelope sender, MAIL FROM, 5321-FROM, return address, From_, Errors-to, etc. It is not uncommon for a single document to use several of these names.
All of these names refer to the email address provided with the MAIL FROM command during the SMTP session.
Ordinarily, the bounce address is not seen by email users and, without standardization of the name, it may cause confusion.
If an email message is thought of as resembling a traditional paper letter in an envelope, then the "header fields", such as To:, From:, and Subject:, along with the body of the message are analogous to the letterhead and body of a letter - and are normally all presented and visible to the user. However, the envelope in this analogy is the contents of the MAIL FROM and RCPT TO fields from the SMTP session - and neither of these is normally visible to the user.
While it is most common for the To: and From: information in the letter to be the same as the "envelope" values, such is not always the case. For example, on electronic mailing lists, the information seen in the "From:" header will come from the person who sent the email to the list, while the bounce address will be set to that of the mailing list software, so problems delivering the mailing list messages can be handled correctly.
Only the envelope information is looked at to resolve where the email should go; the body of the email is not examined. Mail Transfer Agents (MTA) using the SMTP protocol use the RCPT TO command to determine where the email should go, and the MAIL FROM command to indicate where it came from.
While its original usage was to provide information about how to return bounce messages, since the late 1990s, other uses have come about. These typically take advantage of properties of the bounce address, such as:
- It is given early in the SMTP session, so a message can be rejected without receiving its body.
- It is typically not seen by users so it can be altered to include additional information without confusing them.
- It is a required part of Mail Transfer Agent software, so it is easy for other programs to use. In contrast, the "from" address in the body of the mail can be on several different headers (e.g. the From:, Sender:, Resent-from:, etc.) or be missing entirely.
The various terms have different origins and sometimes different meanings, although these differences have often become moot on the modern internet.
- bounce address - When an email can not be delivered, the MTA will create a bounce message and send it to the address given by the MAIL FROM command. Used in RFC 4406.
- return path - When the email is put in the recipient's email box, a new mail header is created with the name "Return-Path:" containing the address on the MAIL FROM command. Earlier forms of email (such as UUCP) would require information about each "hop" along the path that the email traveled to reach the destination, hence the "path" part of the name. Used in RFC 2821, RFC 3834, RFC 4409.
- reverse path - the argument of the SMTP MAIL FROM command, whose content is supposed to consist of the envelope sender address. Used in RFC 5321, RFC 3464, RFC 3834, Internet Mail Architecture.
- envelope from - information that the SMTP protocol uses analogous to the envelope of a letter. Used in RFC 5230, RFC 5233.
- envelope sender address - the mailbox address in a non-empty reverse path excluding any (deprecated) reverse routing info. Used in RFC 2821, RFC 3461, RFC 3464, RFC 3798, RFC 5228.
- envelope return address - similar to envelope sender address, used in RFC 3461, RFC 3464, RFC 3834, RFC 4952.
- MAIL FROM - This variation comes directly from the SMTP MAIL FROM command name. Used in RFC 5321, RFC 3464, RFC 3834, RFC 4408, RFC 4409, RFC 4952.
- 2821-FROM - Until October, 2008, SMTP was defined in RFC 2821, while the body of the email was defined in RFC 2822. The term "2821-FROM" makes it clear that the address referred to is the MAIL FROM information, while "2822-From:" refers to the address in the "From:" header seen by end users. Used in RFC 5598.
- 5321-FROM - Evolution of 2821-FROM as from October, 2008, SMTP has been defined in RFC 5321.
- return address - Another term that comes from the latter analogy for email. used in RFC 5321, RFC 3834.
- From_ - When an email gets delivered to the user's email box, one file format that may be used is the mbox format. In this format, the email address from the MAIL FROM command was placed on a line beginning with "From" followed by a single space, the "From_" term uses an underscore to represent the space to distinguish it from the "From:" mail header. In this mailbox format, lines in the actual email that begin with a "From " have to be escaped and changed into lines that begin with ">From ".