Ruby gem for parsing or validating email address. Parsing email address based on RFC5321 and RFC1035. But some violations are allowed by option.
Add this line to your application's Gemfile:
gem 'email_parser'
And then execute:
$ bundle
Or install it yourself as:
$ gem install email_parser
EmailParser.parse("test@example.com")
# => [:mailbox, [:local_part, [:dot_string, [:atom, "test"]]], "@", [:domain, [:subdomain, [:label, "example"], [:dot, "."], [:label, "com"]]]]
EmailParser.valid?("test@example.com") # => true
EmailParser.valid?("test.@example.com") # => false
EmailParser.valid?("test.@example.com", allow_local_end_with_dot: true) # => true
allow_address_literal: true
allowsa@[127.0.0.1]
etc. (default:false
)allow_domain_label_begin_with_number: true
allowsa@123.com
etc.allow_dot_sequence_in_local: true
allowsa..b@example.com
etc. (default:false
)allow_local_begin_with_dot: true
allows.a@example.com
etc. (default:false
)allow_local_end_with_dot: true
allowsa.@example.com
etc. (default:false
)
gem "email_parser", require: "email_parser/validator"
class Person
# All parser options and :allow_nil option are accepted.
validates :email, email: {allow_nil: true, allow_local_end_with_dot: true}
end
You can set default parser options globally.
EmailValidator.default_parser_options.merge!(
allow_local_end_with_dot: true,
)
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Bug reports and pull requests are welcome on GitHub at https://github.com/labocho/email_parser.
The gem is available as open source under the terms of the MIT License.