Version 1
[yaffs-website] / vendor / egulias / email-validator / documentation / RFC5321BNF.html
diff --git a/vendor/egulias/email-validator/documentation/RFC5321BNF.html b/vendor/egulias/email-validator/documentation/RFC5321BNF.html
new file mode 100644 (file)
index 0000000..2313f01
--- /dev/null
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+<title>The BNF from RFC 5321 defining parts of a valid SMTP address</title>
+</head>
+
+<body>
+<pre style="font-size:11px;">
+   Mailbox        = Local-part "@" ( Domain / address-literal )
+
+   Local-part     = Dot-string / Quoted-string
+                  ; MAY be case-sensitive
+
+
+   Dot-string     = Atom *("."  Atom)
+
+   Atom           = 1*atext
+
+   Quoted-string  = DQUOTE *QcontentSMTP DQUOTE
+
+   QcontentSMTP   = qtextSMTP / quoted-pairSMTP
+
+   quoted-pairSMTP  = %d92 %d32-126
+                    ; i.e., backslash followed by any ASCII
+                    ; graphic (including itself) or SPace
+
+   qtextSMTP      = %d32-33 / %d35-91 / %d93-126
+                  ; i.e., within a quoted string, any
+                  ; ASCII graphic or space is permitted
+                  ; without blackslash-quoting except
+                  ; double-quote and the backslash itself.
+
+   Domain         = sub-domain *("." sub-domain)
+
+   sub-domain     = Let-dig [Ldh-str]
+
+   Let-dig        = ALPHA / DIGIT
+
+   Ldh-str        = *( ALPHA / DIGIT / "-" ) Let-dig
+
+   address-literal  = "[" ( IPv4-address-literal /
+                    IPv6-address-literal /
+                    General-address-literal ) "]"
+                    ; See Section 4.1.3
+
+   IPv4-address-literal  = Snum 3("."  Snum)
+
+   IPv6-address-literal  = "IPv6:" IPv6-addr
+
+   General-address-literal  = Standardized-tag ":" 1*dcontent
+
+   Standardized-tag  = Ldh-str
+                     ; Standardized-tag MUST be specified in a
+                     ; Standards-Track RFC and registered with IANA
+
+   dcontent       = %d33-90 / ; Printable US-ASCII
+                  %d94-126 ; excl. "[", "\", "]"
+
+   Snum           = 1*3DIGIT
+                  ; representing a decimal integer
+                  ; value in the range 0 through 255
+
+   IPv6-addr      = IPv6-full / IPv6-comp / IPv6v4-full / IPv6v4-comp
+
+   IPv6-hex       = 1*4HEXDIG
+
+   IPv6-full      = IPv6-hex 7(":" IPv6-hex)
+
+   IPv6-comp      = [IPv6-hex *5(":" IPv6-hex)] "::"
+                  [IPv6-hex *5(":" IPv6-hex)]
+                  ; The "::" represents at least 2 16-bit groups of
+                  ; zeros.  No more than 6 groups in addition to the
+                  ; "::" may be present.
+
+   IPv6v4-full    = IPv6-hex 5(":" IPv6-hex) ":" IPv4-address-literal
+
+   IPv6v4-comp    = [IPv6-hex *3(":" IPv6-hex)] "::"
+                  [IPv6-hex *3(":" IPv6-hex) ":"]
+                  IPv4-address-literal
+                  ; The "::" represents at least 2 16-bit groups of
+                  ; zeros.  No more than 4 groups in addition to the
+                  ; "::" and IPv4-address-literal may be present.
+
+</pre>
+</body>
+
+</html>