Email forwarding
Email forwarding generically refers to the operation of re-sending an email message delivered to one email address to one or more different email addresses. The term "forwarding", used for mail since long before electronic communications, has no specific technical meaning, but it implies that the email has been moved "forward" to a new destination. Email forwarding can also redirect mail going to a certain address and send it to one or more other addresses. Vice versa, email items going to several different addresses can converge via forwarding to end up in a single address in-box. Email  users and administrators of email systems use the same term when speaking of both server-based and client-based forwarding. Server-based forwarding. The domain name (the part appearing to the right of "@" in an email address) defines the target server(s) for the corresponding class of addresses. A domain may also define backup servers; they have no mailboxes and "forward" messages without changing any part of their envelopes. By contrast, "primary servers" can deliver a message to a user's mailbox and/or "forward" it by changing some envelope addresses. ~/.forward files (see below) provide a typical example of server-based  forwarding to different recipients. Email administrators sometimes use the term redirection as a synonym for server-based email-forwarding to different recipients. Protocol engineers sometimes use the term Mediator to refer to a forwarding server. Because of spam, it is becoming increasingly difficult to reliably forward mail across different domains, and some recommend avoiding it if at all possible. Forwarding versus remailing. Plain message-forwarding changes the envelope recipient(s) and leaves the envelope sender field untouched. The "envelope sender" field does not equate to the "From" header which Email client software usually displays: it represents a field used in the  early stages of the SMTP protocol, and subsequently saved as the "Return-Path" header. This field holds the address to which mail-systems must send bounce messages — reporting delivery-failure (or success) — if any. By contrast, the terms "remailing" or "redistribution" can sometimes mean re-sending the message and also rewriting the "envelope sender" field. Electronic mailing lists furnish a typical example. Authors submit messages to a "reflector" that performs remailing to each list address. That way, bounce messages (which report a failure delivering a message to any list- subscriber) will not reach the author of a message. However, annoying  misconfigured "vacation" autoreplies do reach authors. Typically, plain message-forwarding does alias-expansion, while proper message-forwarding, also named "forwarding" tout-court serves for mailing-lists. When additional modifications to the message are carried out, so as to rather resemble the action of a Mail User Agent submitting a new message, the term "forwarding" becomes deceptive and remailing seems more appropriate. In the Sender Policy Framework (SPF), the domain-name in the envelope sender remains subject to policy restrictions. Therefore, SPF generally disallows plain message-forwarding. "Intra domain" redirection complies with SPF as long as the relevant servers share a  consistent configuration. Mail servers that practice "inter-domain" message-forwarding may break SPF even if they do not implement SPF themselves, i.e. they neither apply SPF checks nor publish SPF records. Sender Rewriting Scheme provides for a generic forwarding mechanism compatible with SPF. Client-based forwarding. Automated client-based forwarding. Client forwarding can take place automatically using a non-interactive client such as a mail retrieval agent. Although the retrieval agent uses a client protocol, this forwarding resembles "server forwarding" in that it keeps the same message-identity. Concerns about the envelope-sender apply. Manual client-based forwarding. An end -user can "manually" forward a message using an email client. Forwarding "inline" quotes the message below the main text of the new message, and usually preserves original attachments as well as a choice of selected headers (e.g. the original "From" and "Reply-To".) The recipient of a message forwarded this way may still be able to reply to the original message; the ability to do so depends on the presence of original headers and may imply manually copying and pasting the relevant destination addresses. Forwarding "as attachment" prepares a MIME attachment (of type "message/rfc822") that contains the full original  message, including all headers and any attachment. Note that including all the headers discloses much information about the message, such as the servers that transmitted it and any client-tag added on the mailbox. The recipient of a message forwarded this way may be able to open the attached message and reply to it seamlessly. This kind of forwarding actually constitutes a "remailing" from the points of view of the envelope-sender and of the recipient(s). The message identity also changes. Historical development of email forwarding. RFC 821, "Simple Mail Transfer Protocol", by Jonathan B. Postel in 1982, provided for  a "forward-path" for each recipient, in the form of, for example, codice_1 — an optional list of hosts and a required destination-mailbox. When the list of hosts existed, it served as a source-route, indicating that each host had to relay the mail to the next host on the list. Otherwise, in the case of insufficient destination-information but where the server knew the correct destination, it could take the responsibility to deliver the message by responding as follows: S: RCPT TO:<Postel@USC-ISI.ARPA> R: 251 User not local; will forward to <Postel@USC-ISIF.ARPA> The concept at  that time envisaged the elements of the "forward-path" (source route) moving to the "return-path" (envelope sender) as a message got relayed from one SMTP server to another. Even if the system discouraged the use of source-routing, dynamically building the "return-path" implied that the "envelope sender" information could not remain in its original form during forwarding. Thus RFC 821 did not originally allow plain message-forwarding. The introduction of the MX record made source-routing unnecessary. In 1989, RFC 1123 recommended accepting source-routing only for backward-compatibility. At that point, plain message forwarding became the recommended  action for alias-expansion. In 2008, RFC 5321 still mentions that "systems "may" remove the return path and rebuild "[it]" as needed", taking into consideration that not doing so might inadvertently disclose sensitive information. Actually, plain message-forwarding can be conveniently used for alias expansion within the same server or a set of coordinated servers. codice_2 files. The reference SMTP implementation in the early 1980s was sendmail, which provided for codice_2 files, which can store the target email-addresses for given users. This kind of server-based forwarding is sometimes called "dot-forwarding". One can configure some email-program filters  to automatically perform forwarding or replying actions immediately after receiving. Forward files can also contain shell scripts, which have become a source of many security problems. Formerly only trusted users could utilize the command-line switch for setting the envelope sender, codice_4; some systems disabled this feature for security reasons. Email predates the formalization of client–server architectures in the 1990s. Therefore, the distinction between client and server seems necessarily forced. The original distinction contrasted daemons and user-controlled programs which run on the same machine. The sendmail daemon used to run with root privileges so it could impersonate any  user whose mail it had to manage. On the other hand, users can access their own individual mail-files and configuration files, including codice_2. Client programs may assist in editing the server configuration-files of a given user, thereby causing some confusion as to what role each program plays. Virtual users. The term "virtual users" refers to email users who never log on a mail-server system and only access their mailboxes using remote clients. A mail-server program may work for both virtual and regular users, or it may require minor modifications to take advantage of the fact that  virtual users frequently share the same system "id". The latter circumstance allows the server program to implement some features more easily, as it does not have to obey system-access restrictions. The same principles of operations apply. However, virtual users have more difficulty in accessing their configuration files, for good or ill.