addy: A full-featured library for parsing, validating, and rendering email addresses

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

A modern library for working with email addresses. This package can be used to validate user input or handle various flavors of addresses that appear in places such as mail messages.

Email addresses can be decoded, manipulated, then rendered back to text using the simple local-part@domain format or the more complete syntax that allows for display names and comments.

Comprehensive documentation can be found in the Addy module.


[Skip to Readme]

Properties

Versions 0.1.0.0, 0.1.0.1, 0.1.0.1
Change log CHANGES.md
Dependencies attoparsec (==0.13.*), base (>=4.9 && <5.0), bytestring (>=0.10 && <0.12), ip (>=1.5.1 && <1.8), lens (>=4.17 && <5.0), relude (>=0.6 && <0.8), text (==1.2.*), text-icu (==0.7.*), validation-selective (==0.1.*) [details]
License BSD-2-Clause
Copyright Copyright (c) 2019-2020 Peter Jones
Author Peter Jones <pjones@devalot.com>
Maintainer Peter Jones <pjones@devalot.com>
Category Text
Home page https://github.com/pjones/addy
Bug tracker https://github.com/pjones/addy/issues
Source repo head: git clone https://github.com/pjones/addy.git
Uploaded by PeterJones at 2020-10-29T19:52:31Z

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for addy-0.1.0.1

[back to package description]

Addy: a modern library for working with email addresses

CI GitHub tag (latest by date) Hackage GitHub

A full-featured library for parsing, validating, and rendering email addresses.

Decoding

Addy.decode "example@example.com"
-- Right (EmailAddr "example@example.com")

Addy.decode "我買@屋企.香港"
-- Right (EmailAddr "\25105\36023@\23627\20225.\39321\28207")

Addy.decode "Mary Smith <mary@example.net> (hi there!)"
-- Right (EmailAddr "Mary Smith <mary@example.net> (hi there!)")

Addy.decode "example@[127.0.0.1]"
-- Right (EmailAddr "example@[127.0.0.1]")

Encoding

Addy.encode address
-- "example@example.com"

Addy.decode "Mary Smith <mary@example.net> (hi there!)"
  & second Addy.encodeFull
-- Right "Mary Smith <mary@example.net> (hi there!)"