Helpers for parsing and validating email addresses.
This library is part of the Synchronal suite of libraries and tools which includes more than 15 open source Elixir libraries as well as some Rust libraries and tools.
You can support our open source work by sponsoring us. If you have specific features in mind, bugs you'd like fixed, or new libraries you'd like to see, file an issue or contact us at [email protected].
Add ExEmail
to your mix project deps:
{:ex_email, "~> 0.1"}
An email address may be parsed into its local and domain parts via
ExEmail.parse/1
:
iex> ExEmail.parse("[email protected]")
{:ok, {"alice", "example.com"}}
iex> ExEmail.parse("@example.com")
{:error, ExEmail.Error.new("parse error", "@example.com")}
If the values of the parts are not important, just the validity of the
address, then ExEmail.validate/1
may be used:
iex> ExEmail.validate("[email protected]")
:ok
iex> ExEmail.validate("@example.com")
{:error, ExEmail.Error.new("parse error", "@example.com")}
This library pulls heavily from the email_validator Erlang library, which is great but no longer seems to be maintained.