addresses(5) addresses(5) NNAAMMEE addresses - formats for Internet mail addresses IINNTTRROODDUUCCTTIIOONN A mmaaiill aaddddrreessss is a string of characters containing @. Every mail address has a llooccaall ppaarrtt and a ddoommaaiinn ppaarrtt. The domain part is everything after the final @. The local part is everything before. For example, the mail addresses God@heaven.af.mil @heaven.af.mil @at@@heaven.af.mil all have domain part hheeaavveenn..aaff..mmiill. The local parts are GGoodd, empty, and @@aatt@@. Some domains have owners. It is up to the owner of hheeaavveenn..aaff..mmiill to say how mail messages will be delivered to addresses with domain part hheeaavveenn..aaff..mmiill. The domain part of an address is interpreted without regard to case, so God@heaven.af.mil God@HEAVEN.AF.MIL God@Heaven.AF.Mil all refer to the same domain. There is one exceptional address that does not contain an @: namely, the empty string. The empty string cannot be used as a recipient address. It can be used as a sender address so that the real sender doesn’t receive bounces. QQMMAAIILL EEXXTTEENNSSIIOONNSS The qqmmaaiill system allows several further types of addresses in mail envelopes. First, an envelope recipient address without an @ is interpreted as being at _e_n_v_n_o_a_t_h_o_s_t. For example, if _e_n_v_n_o_a_t_h_o_s_t is hheeaavveenn..aaff..mmiill, the address GGoodd will be rewritten as GGoodd@@hheeaavveenn..aaff..mmiill. Second, the address ##@@[[]] is used as an envelope sender address for dou- ble bounces. Third, envelope sender addresses of the form _p_r_e@@_h_o_s_t--@@[[]] are used to support variable envelope return paths (VERPs). qqmmaaiill--sseenndd will rewrite _p_r_e@@_h_o_s_t--@@[[]] as _p_r_e_r_e_c_i_p==_d_o_m_a_i_n@@_h_o_s_t for deliveries to _r_e_c_i_p@@_d_o_m_a_i_n. Bounces directly from qqmmaaiill--sseenndd will come back to _p_r_e@@_h_o_s_t. CCHHOOOOSSIINNGG MMAAIILL AADDDDRREESSSSEESS Here are some suggestions on choosing mail addresses for the Internet. Do not use non-ASCII characters. Under RFC 822 and RFC 821, these characters cannot be used in mail headers or in SMTP commands. In practice, they are regularly corrupted. Do not use ASCII control characters. NUL is regularly corrupted. CR and LF cannot be used in some combinations and are corrupted in all. None of these characters are usable on business cards. Avoid spaces and the characters \"<>()[],;: These all require quoting in mail headers and in SMTP. Many existing mail programs do not handle quoting properly. Do not use @ in a local part. @ requires quoting in mail headers and in SMTP. Many programs incorrectly look for the first @, rather than the last @, to find the domain part of an address. In a local part, do not use two consecutive dots, a dot at the begin- ning, or a dot at the end. Any of these would require quoting in mail headers. Do not use an empty local part; it cannot appear in SMTP commands. Avoid local parts longer than 64 characters. Be wary of uppercase letters in local parts. Some mail programs (and users!) will incorrectly convert GGoodd@@hheeaavveenn..aaff..mmiill to ggoodd@@hheeaavveenn..aaff..mmiill. Be wary of the following characters: $&!#~‘’^*|{} Some users will not know how to feed these characters safely to their mail programs. In domain names, stick to letters, digits, dash, and dot. One popular DNS resolver has, under the banner of security, recently begun destroy- ing domain names that contain certain other characters, including underscore. Exception: A dotted-decimal IP address in brackets, such as [[112277..00..00..11]], identifies a domain owned by whoever owns the host at that IP address, and can be used safely. In a domain name, do not use two consecutive dots, a dot at the begin- ning, or a dot at the end. This means that, when a domain name is bro- ken down into components separated by dots, there are no empty compo- nents. Always use at least one dot in a domain name. If you own the mmiill domain, don’t bother using the address rroooott@@mmiill; most users will be unable to send messages to that address. Same for the root domain. Avoid domain names longer than 64 characters. EENNCCOODDEEDD AADDDDRREESSSSEESS IINN SSMMTTPP CCOOMMMMAANNDDSS RFC 821 defines an encoding of mail addresses in SMTP. For example, the addresses God@heaven.af.mil a"quote@heaven.af.mil The Almighty.One@heaven.af.mil could be encoded in RCPT commands as RCPT TO: RCPT TO: RCPT TO: There are several restrictions in RFC 821 on the mail addresses that can be used over SMTP. Non-ASCII characters are prohibited. The local part must not be empty. The domain part must be a sequence of elements separated by dots, where each element is either a component, a sequence of digits preceded by #, or a dotted-decimal IP address surrounded by brackets. The only allowable characters in components are letters, digits, and dashes. Every component must (believe it or not) have at least three characters; the first character must be a letter; the last character must not be a hyphen. EENNCCOODDEEDD AADDDDRREESSSSEESS IINN MMAAIILL HHEEAADDEERRSS RFC 822 defines an encoding of mail addresses in certain header fields in a mail message. For example, the addresses God@heaven.af.mil a"quote@heaven.af.mil The Almighty.One@heaven.af.mil could be encoded in a TToo field as To: God@heaven.af.mil, <@brl.mil:"a\"quote"@heaven.af.mil>, "The Almighty".One@heaven.af.mil or perhaps To: < "God"@heaven .af.mil>, "a\"quote" (Who?) @ heaven . af. mil , God<"The Almighty.One"@heaven.af.mil> There are several restrictions on the mail addresses that can be used in these header fields. Non-ASCII characters are prohibited. The domain part must be a sequence of elements separated by dots, where each element either (1) begins with [ and ends with ] or (2) is a nonempty string of printable ASCII characters not including any of \".<>()[],;: and not including space. SSEEEE AALLSSOO envelopes(5), qmail-header(5), qmail-inject(8), qmail-remote(8), qmail- smtpd(8) addresses(5)