summaryrefslogtreecommitdiffstats
path: root/rfc2822/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'rfc2822/README.md')
-rw-r--r--rfc2822/README.md44
1 files changed, 44 insertions, 0 deletions
diff --git a/rfc2822/README.md b/rfc2822/README.md
new file mode 100644
index 00000000..db6140a8
--- /dev/null
+++ b/rfc2822/README.md
@@ -0,0 +1,44 @@
+An [RFC 2822] parser.
+
+ [RFC 2822]: https://tools.ietf.org/html/rfc2822
+
+Currently, this crate only recognizes the [RFC 2822] [name-addr] and
+[addr-spec] productions, i.e., things of the form:
+
+ [name-addr]: https://tools.ietf.org/html/rfc2822#section-3.4
+ [addr-spec]: https://tools.ietf.org/html/rfc2822#section-3.4.1
+
+```
+Name (Comment) <email@example.org>
+```
+
+and
+
+```
+email@example.org
+```
+
+Although the above appear simple to parse, [RFC 2822]'s whitespace and
+comment rules are rather complex. This crate implements the whole
+grammar.
+
+As an extension, in addition to ASCII, we also recognize all UTF-8
+text.
+
+Further, we also allow dots in the name-addr Name. That is:
+
+```
+Professor Pippy P. Poopypants <pippy@jerome-horwitz.k12.oh.us>
+```
+
+is recognized. But [RFC 2822] strictly requires that the name be
+quoted:
+
+```
+"Professor Pippy P. Poopypants" <pippy@jerome-horwitz.k12.oh.us>
+```
+
+
+This crate does not (yet) implement the new [RFC 5322].
+
+ [RFC 5322]: https://tools.ietf.org/html/rfc5322