#check #address #length #domain #local-part

yanked fastchemail

Check email address

Uses old Rust 2015

0.9.3 Dec 7, 2016
0.9.2 Dec 3, 2016
0.9.1 Dec 2, 2016
0.9.0 Nov 30, 2016

#171 in #length

MPL-2.0 license

14KB
197 lines

Fast Chemail

A Dart library to validate the email as it is defined in the HTML specification. The RFC 5322 is too lax (allowing comments, whitespace characters, and quoted strings in manners unfamiliar to most users) to be of practical use.

Also, has been considered the bounds defined in:

  • SMTP :: Size Limits and Minimums

    • The maximum total length of a user name or other local-part is 64 octets.
    • The maximum total length of a domain name or number is 255 octets.
    • The maximum total length of a reverse-path or forward-path is 256 octets (including the punctuation and element separators).

    There is a great contradiction. The maximum total length of an email address is 320 octects:

    {64}@{255} => 64 + 1 + 255 = 320

    but the maximum total length of a reverse-path or forward-path is 256 octets. Addition, that is only the length of the email address because it may contain a display name, like first last <local@domain> and will often extend 320 octets.

    Now well, since the standard says: "to the maximum extent possible, implementation techniques that impose no limits on the length of these objects should be used", the bound to reverse-path or forward-path will not be taken.

  • Application Techniques for Checking and Transformation of Names

    Such memo is not a standard else informational, so the correction done in the errata is not followed.

Table of Contents

Install

Add to your 'Cargo.toml' file:

[dependencies]
fastchemail = "^0"

and to your crate root:

extern crate fastchemail;

Usage

Read the documentation.

Contribute

The canonical source of this repository is hosted on GitLab. Please make your issues there.

The pull requests are not accepted without filling an issue, to know wheter what you want to change, it seems to me right for this project.

Note: this is a free/open source project at zero price built in my spare time, and it is possible that I have not time to solve any issue.

License

© 2016 Jonas Me See the 'AUTHORS.md' file for a full list of authors.

The source files are distributed under the terms of the license Mozilla Public License, version 2.0

Dependencies

~13KB