Komputer Sains    
   
Daftar Isi
(Sebelumnya) Early Edu-Ware productsFile inclusion vulnerability (Berikutnya)

Email address

An email address identifies an email box to which email messages are delivered. This article covers modern internet email, but many earlier email systems used different address formats.

The local part of an address (before the @ sign) is case-sensitive (with the exception of [email protected]). The domain part (after the @ sign) is not case-sensitive. Most organizations treat uppercase and lowercase letters in the local part as equivalent. The risk of delivery failures due to case differences can be minimized by using only lower case characters when creating new addresses.

Contents

Overview

The transmission of email over the Internet normally uses the Simple Mail Transfer Protocol (SMTP), defined in Internet standards RFC 5321 and RFC 5322, and extensions like RFC 6531. Mailboxes themselves are most often accessed using the Post Office Protocol (POP) or the Internet Message Access Protocol (IMAP)[citation needed], though the use of webmail(where the mailbox contents is rendered in a client browser by HTML) is becoming more common.

The general formats of an email address is [email protected]. It consists of two parts: the part before the @ sign is the local-part of the address, often the username of the recipient (jsmith), and the part after the @ sign is a domain name to which the email message will be sent (example.org).

It is not clear from the email address domain name what is the actual destination (the mailbox host) of an email. A mail server will use the Domain Name System (DNS), which is a distributed database, to find the IP address of the host of the domain. The server queries the DNS for any mail exchanger records (MX records) to find the IP address of a designated mail transfer agent (MTA) for that address. That way, the organization holding the delegation for a given domain – the Mailbox Provider – can define which are the target hosts for all email destined to its domain. The mail exchanger does not need to be located in the domain of the destination mail box, it must simply accept mail for the domain. The target hosts are configured with a mechanism to deliver mail to all destination mail boxes. If no MX servers are configured, a mail server queries the A record for the domain. There is a chance that this server will accept email for this domain.

The local-part of an email address has no significance to intermediate mail relay systems other than the final mailbox host. Email programs and intermediate mail relay systems must not assume it to be case-insensitive, since the final mailbox host may or may not treat it as such. The same mailbox can be set up to receive emails from multiple email addresses. Conversely, a single email address may be an alias and have a distribution function to many mailboxes. Email aliases, electronic mailing lists, sub-addressing, and catch-all addresses, the latter being mailboxes that receive messages regardless of the local part, are common patterns for achieving such results.

The addresses found in the header fields of an email message are not the ones used by SMTP servers to deliver the message. Servers use the so-called message envelope to route mail. While envelope and header addresses may be equal, forged email addresses are often seen in spam, phishing, and many other internet-based scams. This has led to several initiatives which aim to make such forgeries easier to spot.

To indicate for whom the message is intended, a user can use the "display name" of the recipient followed by the address specification surrounded by angled brackets, for example: John Smith <john.smith@e xample.org>.

Earlier forms of email addresses included the somewhat verbose notation required by X.400, and the UUCP "bang path" notation, in which the address was given in the form of a sequence of computers through which the message should be relayed. This was widely used for several years, but was superseded by the generally more convenient SMTP form.

Syntax

The format of email addresses is local-part@domain where the local-part may be up to 64 characters long and the domain name may have a maximum of 253 characters – but the maximum 256 characters length of a forward or reverse path restricts the entire email address to be no more than 254 characters.[1] The formal definitions are in RFC 5322 (sections 3.2.3 and 3.4.1) and RFC 5321 – with a more readable form given in the informational RFC 3696[2] and the associated errata.

Local part

The local-part of the email address may use any of these ASCII characters RFC 5322 Section 3.2.3, RFC 6531 permits Unicode beyond the ASCII range:

  • Uppercase and lowercase English letters (a–z, A–Z) (ASCII: 65–90, 97–122)
  • Digits 0 to 9 (ASCII: 48–57)
  • Characters !#$%&'*+-/=?^_`{|}~ (ASCII: 33, 35–39, 42, 43, 45, 47, 61, 63, 94–96, 123–126)
  • Character . (dot, period, full stop) (ASCII: 46)
  • Special characters are allowed with restrictions. They are:
    • Space and "(),:;<>@[\] (ASCII: 32, 34, 40, 41, 44, 58, 59, 60, 62, 64, 91–93)
The restrictions for special characters are that they must only be used when contained between quotation marks, and that 2 of them (the backslash \ and quotation mark " (ASCII: 92, 34)) must also be preceded by a backslash \ (e.g. """).
  • Comments are allowed with parentheses at either end of the local part; e.g. "john.smith(comment)@example.com" and "(comment)[email protected]" are both equivalent to "[email protected]".
  • International characters above U+007F are permitted by RFC 6531, though mail systems may restrict which characters to use when assigning local parts.

A quoted string may exist as a dot separated entity within the local-part, or it may exist when the outermost quotes are the outermost characters of the local-part (e.g. abc."defghi"[email protected] or "abcdefghixyz"@example.com are allowed. Conversely, abc"defghi"[email protected] is not; neither is abc"def"[email protected]). Quoted strings and characters however, are not commonly used. RFC 5321 also warns that "a host that expects to receive mail SHOULD avoid defining mailboxes where the Local-part requires (or uses) the Quoted-string form".

The local-part "postmaster" is treated specially – it is case-insensitive, and should be forwarded to the server's administrator. Technically all other local-parts are case sensitive, therefore [email protected] and [email protected] specify different mailboxes; however, many organizations treat uppercase and lowercase letters as equivalent.

Most organizations do not allow use of the technically valid characters space, ? and ^. Organizations are free to restrict the forms of their own email addresses as desired, e.g., Windows Live Hotmail, for example, only allows creation of email addresses using alphanumerics, dot (.), underscore (_) and hyphen (-).[3]

Systems that send mail must be capable of handling outgoing mail for all valid addresses. Contrary to the relevant standards, some defective systems treat certain legitimate addresses as invalid and fail to handle mail to these addresses. Hotmail, for example, refuses to send mail to any address containing any of the following standards-permissible characters: !#$%*/?^`{|}~

Domain part

The domain name part of an email address has to conform to strict guidelines: it must match the requirements for a hostname, consisting of letters, digits, hyphens and dots. In addition, the domain part may be an IP address literal, surrounded by square braces, such as jsmith@[192.168.2.1], although this is rarely seen except in email spam. Internationalized domain names (which are encoded to comply with the requirements for a hostname) allow for presentation of non-ASCII domain parts.

Comments are allowed in the domain part as well as in the local part. E.g. "john.smith@(comment)example.com" and "[email protected](comment)" are equivalent to "[email protected]".

Examples

Valid email addresses

  • [email protected]
  • [email protected]
  • [email protected] e.com
  • disposable.style.email.with+symbol@ex ample.com
  • user@[IPv6:2001:db8:1ff::a0b:dbd0]
  • "much.more unusual"@example.com
  • "[email protected]"@example. com
  • "very.(),:;<>[]".VERY."very@\ "very".unusual"@strange.example.com
  • postbox@com (top-level domains are valid hostnames)
  • admin@mailserver1 (local domain name with no TLD)
  • !#$%&'*+-/=?^_`{}|[email protected]
  • "()<>[]:,;@"!#$%&'*+-/=?^_` {}| ~.a"@example.org
  • " "@example.org (space between the quotes)

Invalid email addresses

  • Abc.example.com (an @ character must separate the local and domain parts)
  • A@b@[email protected] (only one @ is allowed outside quotation marks)
  • a"b(c)d,e:f;g<h>i[j\k]l@example .com (none of the special characters in this local part are allowed outside quotation marks)
  • just"not"[email protected] (quoted strings must be dot separated, or the only element making up the local-part)
  • this is"not\[email protected] (spaces, quotes, and backslashes may only exist when within quoted strings and preceded by a backslash)
  • this\ still"not\[email protected] (even if escaped (preceded by a backslash), spaces, quotes, and backslashes must still be contained by quotes)

Common local-part semantics

According to RFC 5321 2.3.11 Mailbox and Address, "...the local-part MUST be interpreted and assigned semantics only by the host specified in the domain part of the address.". This means that no assumptions can be made about the meaning of the local-part of another mail server. It is entirely up to the configuration of the mail server.

Local-part normalization

Interpretation of the local-part of an email address is dependent on the conventions and policies implemented in the mail server. For example, case-sensitivity may distinguish mailboxes differing only in capitalization of characters of the local-part, although this is not very common.[4] Gmail ignores all dots in the local-part for the purposes of determining account identity.[5] This prevents the creation of user accounts your.user.name or yourusername when the account your.username already exists.

Address tags

Some mail services allow a user to append a tag to their email address (e.g., where [email protected] is the main address, which would also accept mail for [email protected] or [email protected]). The text of tag may be used to apply filtering and to create single-use addresses.[6][7][8] Some IETF standards-track documents, such as RFC 5233 refer to this convention as "sub-addressing".

Disposable email addresses of this form, using various separators between the base name and the tag, are supported by several email services, including Runbox (plus and hyphen), Gmail (plus),[9] Yahoo! Mail Plus (hyphen),[10] Apple's MobileMe (this site is now closed and changed to iCloud.com) (plus), FastMail.FM (plus and Subdomain Addressing),[11] and MMDF (equals).

Most installations[which?] of the qmail and Courier Mail Server products support the use of a hyphen '-' as a separator within the local-part, such as [email protected] or joeuser-tag-sub-anything-else@example .com. This allows qmail through .qmail-default or .qmail-tag-sub-anything-else files to sort, filter, forward, or run an application based on the tagging system established.[12][13]

Postfix allows configuring an arbitrary separator from the legal character set. The separator info remains available on the email (address is not rewritten to remove it), and thus is useful in internal mail-routing, filtering, and forwarding via any of the mechanisms existing in Postfix.[14]

Validation

Not only are email addresses used in a mail client or on a mail server, but also used in websites where a user-supplied email address is often validated.

An email address is generally recognized as having two parts joined with an at-sign (@); this in itself is a basic form of validation. However, the technical specification detailed in RFC 822 and subsequent RFCs go far beyond this, offering very complex and strict restrictions.[15]

Trying to match these restrictions is a complex task, often resulting in long regular expressions.[16]

This means that many mail servers adopt very relaxed validation that allows and handles email addresses that are disallowed according to the RFC and instead verify the email address against relevant systems such as DNS for the domain part or using callback verification to check if the mailbox exists.[17]

Conversely, many websites check email addresses much more strictly than the standard specifies, rejecting addresses containing valid characters like + or / signs, or setting arbitrary length limitations (e.g., 30 characters). RFC 3696 was written to give specific advice for validating internet identifiers, including email addresses.[18]

With many browsers now having implemented support for HTML5 forms, using the new 'email' state of the input element allows email address validation to be handled by the browser.

Identity validation

Despite the growth of the World Wide Web as a primary interface for communication, email addresses continue to remain the primary means (besides cell phone number validation, postal mail validation, fax validation, etc.) of identity validation for website account activation. This is usually accomplished by the website sending a temporary hyperlink to the inbox of the user-provided email address in order to open, immediately activating the account. Email addresses are also useful as means of forwarding messages from the website (i.e., user messages, user actions, etc.) to the email inbox.

Internationalization

The IETF conducts a technical and standards working group devoted to internationalization issues of email addresses, entitled Email Address Internationalization (EAI, also known as IMA – Internationalized Mail Address).[19] This group produced RFCs 6530, 6531, 6532, and 6533, and continues to work on additional EAI related RFCs.

The IETF's EAI Working group published RFC 6530 "Overview and Framework for Internationalized Email", which enabled non-ASCII characters to be used in both the local and domain parts of an email address. RFC 6530 provides for email based on the UTF-8 encoding, which permits the full repertoire of Unicode. RFC 6531 provides a mechanism for SMTP servers to negotiate transmission of the SMTPUTF8 content.

The basic EAI concepts involve exchanging mail in UTF-8. Though the original proposal included a downgrading mechanisms for legacy systems this has now been dropped.[20] The local servers are responsible for the "local" part of the address, whereas the domain portion would be restricted by the rules of internationalized domain names, though still transmitted in UTF-8. The mail server is also responsible for any mapping mechanism between the IMA form and any ASCII alias.

EAI enables users to have a localized address in a native language script or character set, as well as an ASCII form for communicating with legacy systems or for script-independent use. Applications that recognize internationalized domain names and mail addresses must have facilities to convert these representations.

Significant demand for such addresses is expected in China, Japan, Russia, and other markets that have large user bases in a non-Latin based writing system.

Internationalization Examples

These addresses are not compliant with RFC 5322 and will therefore not work with many of the current generation of email servers and clients. RFC 6530 compliant servers should be able to handle these.

  • Latin Alphabet (with diacritics): Pelé@example.com
  • Greek Alphabet: δοκιμή@παράδειγμα.δ� �κιμή
  • Japanese Characters: 甲斐@黒川.日本
  • Cyrillic Characters: чебурашка@ящик-с-апе льсинами.рф

Internationalization Support

Modified versions of sendmail and postfix exist that support the proposed EAI rules[citation needed]. Google has limited support for the earlier experimental RFC

See also

References

  1. ^ RFC 5321, section 4.5.3.1. Size Limits and Minimums explicitly details protocol limits.
  2. ^ Written by J. Klensin, the author of RFC 5321
  3. ^ The character limitation is written in plain English in the subscription page "Sign up for Windows Live". https://signup.live.com/newuser.aspx? mkt=en-us. Retrieved 2008-07-26.. However, the phrase is hidden, thus one has to either check the availability of an invalid ID, e.g. me#1, or resort to alternative displaying, e.g. no-style or source view, in order to read it.
  4. ^ Are Email Addresses Case Sensitive? by Heinz Tschabitscher
  5. ^ Google Mail – help center article
  6. ^ "Instant disposable Gmail addresses" by Gina Trapani 2005
  7. ^ 'E-mail with a "Plus"' by Jim Leous 2005
  8. ^ "Gmail: how to use 'plus' sign for filtering mails"
  9. ^ Using an address alias
  10. ^ help.yahoo.com
  11. ^ FastMail's subdomain addressing
  12. ^ "dot-qmail – control the delivery of mail messages". http://qmail.org/man/man5/dot-qmail.h tml. Retrieved 27 January 2012.
  13. ^ Sill, Dave. "4.1.5. extension addresses". Life with qmail. http://www.lifewithqmail.org/lwq.html #extension-addresses. Retrieved 27 January 2012.
  14. ^ Postfix configuration parameters: recipient_delimiter
  15. ^ I Knew How To Validate An Email Address Until I Read The RFC
  16. ^ Mail::RFC822::Address
  17. ^ SMTP based check to verify existence of a mailbox
  18. ^ RFC 3696
  19. ^ "Eai Status Pages". Email Address Internationalization (Active WG). IETF. http://tools.ietf.org/wg/eai/. Retrieved 2008-07-26.
  20. ^ "Email Address Internationalization (eai)". IETF. http://datatracker.ietf.org/wg/eai/ch arter/. Retrieved 2010-11-30.

External links

(Sebelumnya) Early Edu-Ware productsFile inclusion vulnerability (Berikutnya)