Migrated to https://git.sceptique.eu/Sceptique/CrystalEmail
A RFC compliant Email validator
Prelude
- What is an Email Address ?
- What is a Domain Name ?
Compliance
To do
- To do : rfc 6530.
- To do : Implement IPv6
Notes
- No ipv6 for now
- No escaped characters
- Public email validity (no raw ip, domain withour root domain, ...)
Installation
Works with crystal 0.17 - 0.27.0
Add this to your application's shard.yml
:
dependencies:
CrystalEmail:
github: place-labs/CrystalEmail
## Usage in Crystal
require "CrystalEmail"
# Pure Rfc5322
CrystalEmail::Rfc5322.validates? "toto@tata" # => true
CrystalEmail::Rfc5322.match "toto@tata" # => #<MatchData "toto@tata" local:"toto" domain:"tata">
CrystalEmail::Rfc5322.validates? "toto" # => false
CrystalEmail::Rfc5322.match "toto" # => nil
# Rfc5322 + Internet basic usage
CrystalEmail::Rfc5322::Public.validates? "[email protected]" # => true
CrystalEmail::Rfc5322::Public.match "[email protected]" # => #<MatchData "toto@tata" local:"toto" domain:"tata.com">
"[email protected]".is_email? # => true
Contributes !
Find a bug ? Want a new feature ? Create a clear pull request and we'll see :)
- Nephos (poulet_a)